{"version":3,"file":"app-e527051fc7c5106312f8.js","mappings":"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","sources":["webpack://sample-react/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://sample-react/./node_modules/classnames/index.js","webpack://sample-react/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://sample-react/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://sample-react/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://sample-react/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://sample-react/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://sample-react/./node_modules/react-is/cjs/react-is.production.min.js","webpack://sample-react/./node_modules/react-is/index.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://sample-react/./node_modules/theming/dist/theming.esm.js","webpack://sample-react/./node_modules/is-in-browser/dist/module.js","webpack://sample-react/./node_modules/jss/dist/jss.esm.js","webpack://sample-react/./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","webpack://sample-react/./node_modules/jss-plugin-rule-value-observable/dist/jss-plugin-rule-value-observable.esm.js","webpack://sample-react/./node_modules/jss-plugin-template/dist/jss-plugin-template.esm.js","webpack://sample-react/./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","webpack://sample-react/./node_modules/jss-plugin-extend/dist/jss-plugin-extend.esm.js","webpack://sample-react/./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","webpack://sample-react/./node_modules/jss-plugin-compose/dist/jss-plugin-compose.esm.js","webpack://sample-react/./node_modules/hyphenate-style-name/index.js","webpack://sample-react/./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","webpack://sample-react/./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","webpack://sample-react/./node_modules/jss-plugin-expand/dist/jss-plugin-expand.esm.js","webpack://sample-react/./node_modules/css-vendor/dist/css-vendor.esm.js","webpack://sample-react/./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","webpack://sample-react/./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","webpack://sample-react/./node_modules/jss-preset-default/dist/jss-preset-default.esm.js","webpack://sample-react/./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://sample-react/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://sample-react/./node_modules/css-jss/dist/css-jss.esm.js","webpack://sample-react/./node_modules/react-jss/dist/react-jss.esm.js","webpack://sample-react/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://sample-react/./node_modules/react-server-dom-webpack/index.js","webpack://sample-react/./node_modules/symbol-observable/es/index.js","webpack://sample-react/./node_modules/symbol-observable/es/ponyfill.js","webpack://sample-react/./node_modules/tiny-warning/dist/tiny-warning.esm.js","webpack://sample-react/./node_modules/void-elements/index.js","webpack://sample-react/./node_modules/core-js/internals/a-callable.js","webpack://sample-react/./node_modules/core-js/internals/add-to-unscopables.js","webpack://sample-react/./node_modules/core-js/internals/an-object.js","webpack://sample-react/./node_modules/core-js/internals/array-includes.js","webpack://sample-react/./node_modules/core-js/internals/array-method-is-strict.js","webpack://sample-react/./node_modules/core-js/internals/array-slice-simple.js","webpack://sample-react/./node_modules/core-js/internals/array-sort.js","webpack://sample-react/./node_modules/core-js/internals/array-species-constructor.js","webpack://sample-react/./node_modules/core-js/internals/array-species-create.js","webpack://sample-react/./node_modules/core-js/internals/classof-raw.js","webpack://sample-react/./node_modules/core-js/internals/classof.js","webpack://sample-react/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://sample-react/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://sample-react/./node_modules/core-js/internals/create-property-descriptor.js","webpack://sample-react/./node_modules/core-js/internals/create-property.js","webpack://sample-react/./node_modules/core-js/internals/define-built-in.js","webpack://sample-react/./node_modules/core-js/internals/define-global-property.js","webpack://sample-react/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://sample-react/./node_modules/core-js/internals/descriptors.js","webpack://sample-react/./node_modules/core-js/internals/document-all.js","webpack://sample-react/./node_modules/core-js/internals/document-create-element.js","webpack://sample-react/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://sample-react/./node_modules/core-js/internals/engine-ff-version.js","webpack://sample-react/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://sample-react/./node_modules/core-js/internals/engine-user-agent.js","webpack://sample-react/./node_modules/core-js/internals/engine-v8-version.js","webpack://sample-react/./node_modules/core-js/internals/engine-webkit-version.js","webpack://sample-react/./node_modules/core-js/internals/enum-bug-keys.js","webpack://sample-react/./node_modules/core-js/internals/export.js","webpack://sample-react/./node_modules/core-js/internals/fails.js","webpack://sample-react/./node_modules/core-js/internals/flatten-into-array.js","webpack://sample-react/./node_modules/core-js/internals/function-bind-context.js","webpack://sample-react/./node_modules/core-js/internals/function-bind-native.js","webpack://sample-react/./node_modules/core-js/internals/function-call.js","webpack://sample-react/./node_modules/core-js/internals/function-name.js","webpack://sample-react/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://sample-react/./node_modules/core-js/internals/function-uncurry-this.js","webpack://sample-react/./node_modules/core-js/internals/get-built-in.js","webpack://sample-react/./node_modules/core-js/internals/get-method.js","webpack://sample-react/./node_modules/core-js/internals/global.js","webpack://sample-react/./node_modules/core-js/internals/has-own-property.js","webpack://sample-react/./node_modules/core-js/internals/hidden-keys.js","webpack://sample-react/./node_modules/core-js/internals/html.js","webpack://sample-react/./node_modules/core-js/internals/ie8-dom-define.js","webpack://sample-react/./node_modules/core-js/internals/indexed-object.js","webpack://sample-react/./node_modules/core-js/internals/inspect-source.js","webpack://sample-react/./node_modules/core-js/internals/internal-state.js","webpack://sample-react/./node_modules/core-js/internals/is-array.js","webpack://sample-react/./node_modules/core-js/internals/is-callable.js","webpack://sample-react/./node_modules/core-js/internals/is-constructor.js","webpack://sample-react/./node_modules/core-js/internals/is-forced.js","webpack://sample-react/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://sample-react/./node_modules/core-js/internals/is-object.js","webpack://sample-react/./node_modules/core-js/internals/is-pure.js","webpack://sample-react/./node_modules/core-js/internals/is-symbol.js","webpack://sample-react/./node_modules/core-js/internals/length-of-array-like.js","webpack://sample-react/./node_modules/core-js/internals/make-built-in.js","webpack://sample-react/./node_modules/core-js/internals/math-trunc.js","webpack://sample-react/./node_modules/core-js/internals/object-create.js","webpack://sample-react/./node_modules/core-js/internals/object-define-properties.js","webpack://sample-react/./node_modules/core-js/internals/object-define-property.js","webpack://sample-react/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://sample-react/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://sample-react/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://sample-react/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://sample-react/./node_modules/core-js/internals/object-keys-internal.js","webpack://sample-react/./node_modules/core-js/internals/object-keys.js","webpack://sample-react/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://sample-react/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://sample-react/./node_modules/core-js/internals/own-keys.js","webpack://sample-react/./node_modules/core-js/internals/require-object-coercible.js","webpack://sample-react/./node_modules/core-js/internals/shared-key.js","webpack://sample-react/./node_modules/core-js/internals/shared-store.js","webpack://sample-react/./node_modules/core-js/internals/shared.js","webpack://sample-react/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://sample-react/./node_modules/core-js/internals/to-absolute-index.js","webpack://sample-react/./node_modules/core-js/internals/to-indexed-object.js","webpack://sample-react/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://sample-react/./node_modules/core-js/internals/to-length.js","webpack://sample-react/./node_modules/core-js/internals/to-object.js","webpack://sample-react/./node_modules/core-js/internals/to-primitive.js","webpack://sample-react/./node_modules/core-js/internals/to-property-key.js","webpack://sample-react/./node_modules/core-js/internals/to-string-tag-support.js","webpack://sample-react/./node_modules/core-js/internals/to-string.js","webpack://sample-react/./node_modules/core-js/internals/try-to-string.js","webpack://sample-react/./node_modules/core-js/internals/uid.js","webpack://sample-react/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://sample-react/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://sample-react/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://sample-react/./node_modules/core-js/internals/well-known-symbol.js","webpack://sample-react/./node_modules/core-js/modules/es.array.flat-map.js","webpack://sample-react/./node_modules/core-js/modules/es.array.sort.js","webpack://sample-react/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://sample-react/./node_modules/core-js/modules/es.global-this.js","webpack://sample-react/./node_modules/core-js/modules/esnext.global-this.js","webpack://sample-react/./node_modules/gatsby-react-router-scroll/index.js","webpack://sample-react/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://sample-react/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://sample-react/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://sample-react/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://sample-react/./.cache/api-runner-browser-plugins.js","webpack://sample-react/./.cache/api-runner-browser.js","webpack://sample-react/./.cache/create-content-digest-browser-shim.js","webpack://sample-react/./node_modules/mitt/dist/mitt.es.js","webpack://sample-react/./.cache/emitter.js","webpack://sample-react/./.cache/normalize-page-path.js","webpack://sample-react/./.cache/find-path.js","webpack://sample-react/./.cache/slice/server-slice-renderer.js","webpack://sample-react/./.cache/slice/server-slice.js","webpack://sample-react/./.cache/slice/inline-slice.js","webpack://sample-react/./.cache/slice.js","webpack://sample-react/./.cache/gatsby-browser-entry.js","webpack://sample-react/./.cache/prefetch.js","webpack://sample-react/./.cache/loader.js","webpack://sample-react/./.cache/head/components/fire-callback-in-effect.js","webpack://sample-react/./.cache/head/constants.js","webpack://sample-react/./.cache/head/utils.js","webpack://sample-react/./.cache/head/head-export-handler-for-browser.js","webpack://sample-react/./.cache/page-renderer.js","webpack://sample-react/./.cache/route-announcer-props.js","webpack://sample-react/./.cache/navigation.js","webpack://sample-react/./node_modules/shallow-compare/es/index.js","webpack://sample-react/./.cache/ensure-resources.js","webpack://sample-react/./.cache/production-app.js","webpack://sample-react/./.cache/public-page-renderer-prod.js","webpack://sample-react/./.cache/public-page-renderer.js","webpack://sample-react/./.cache/react-dom-utils.js","webpack://sample-react/./.cache/redirect-utils.js","webpack://sample-react/./.cache/register-service-worker.js","webpack://sample-react/./.cache/slice/context.js","webpack://sample-react/./.cache/static-query.js","webpack://sample-react/./.cache/context-utils.js","webpack://sample-react/./.cache/strip-prefix.js","webpack://sample-react/./node_modules/gatsby-env-variables-fork/index.js","webpack://sample-react/./node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js","webpack://sample-react/./node_modules/gatsby-plugin-jss/gatsby-browser.js","webpack://sample-react/./node_modules/gatsby-plugin-layout/gatsby-browser.js","webpack://sample-react/./node_modules/gatsby-plugin-layout/wrap-page.js","webpack://sample-react/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://sample-react/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://sample-react/./src/auth/authContext.tsx","webpack://sample-react/./src/helpers/browserRedirectToPage.ts","webpack://sample-react/./src/hooks/change-size.ts","webpack://sample-react/./src/components/main-menu/styles.ts","webpack://sample-react/./src/components/main-menu/header-links/styles.ts","webpack://sample-react/./src/components/main-menu/header-links/header-links.tsx","webpack://sample-react/./src/images/page-header/icons/arrow_down_icon.svg","webpack://sample-react/./src/images/page-header/icons/arrow_up_icon.svg","webpack://sample-react/./src/components/main-menu/burger-menu/styles.ts","webpack://sample-react/./src/images/page-header/arrow-up.svg","webpack://sample-react/./src/images/page-header/arrow-down.svg","webpack://sample-react/./src/components/main-menu/burger-menu/burger-menu.tsx","webpack://sample-react/./src/images/page-header/links/language.svg","webpack://sample-react/./src/components/main-menu/profile-menu/styles.ts","webpack://sample-react/./src/hooks/useOutsideClick.ts","webpack://sample-react/./src/images/page-header/default_profile.png","webpack://sample-react/./src/components/main-menu/profile-menu/profile-menu.tsx","webpack://sample-react/./src/components/main-menu/language-menu/styles.ts","webpack://sample-react/./src/components/main-menu/language-menu/language-menu.tsx","webpack://sample-react/./src/components/main-menu/main-menu.tsx","webpack://sample-react/./src/images/page-header/logo.svg","webpack://sample-react/./src/images/page-header/links/play.svg","webpack://sample-react/./src/images/page-header/links/catalog.svg","webpack://sample-react/./src/images/page-header/links/pricing.svg","webpack://sample-react/./src/images/page-header/links/solutions.svg","webpack://sample-react/./src/images/page-header/links/quizzes.svg","webpack://sample-react/./src/images/page-header/icons/logout_icon.svg","webpack://sample-react/./src/images/page-header/icons/profile_icon.svg","webpack://sample-react/./src/images/page-header/icons/archive_icon.svg","webpack://sample-react/./src/images/page-header/icons/links_icon.svg","webpack://sample-react/./src/layouts/mainMenuScheme.ts","webpack://sample-react/./src/images/page-header/links/learn_more.svg","webpack://sample-react/./src/helpers/cookiesHelper.ts","webpack://sample-react/./src/helpers/getDomain.ts","webpack://sample-react/./src/layouts/main-layout.tsx","webpack://sample-react/./src/auth/useAuthData.ts","webpack://sample-react/./src/apiUrls.ts","webpack://sample-react/./src/layouts/useBackendSettings.ts","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://sample-react/./node_modules/i18next/dist/esm/i18next.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://sample-react/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://sample-react/./node_modules/react-i18next/dist/es/unescape.js","webpack://sample-react/./node_modules/react-i18next/dist/es/defaults.js","webpack://sample-react/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://sample-react/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://sample-react/./node_modules/react-i18next/dist/es/context.js","webpack://sample-react/./node_modules/react-i18next/dist/es/index.js","webpack://sample-react/./src/locales/locales-settings.tsx","webpack://sample-react/./src/locales/locales-utils.tsx","webpack://sample-react/./node_modules/invariant/browser.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/createClass.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/typeof.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://sample-react/./node_modules/@babel/runtime/regenerator/index.js","webpack://sample-react/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://sample-react/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://sample-react/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://sample-react/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["import _classCallCheck from \"/build/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/build/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _inherits from \"/build/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _possibleConstructorReturn from \"/build/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/build/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _slicedToArray from \"/build/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nimport \"core-js/modules/esnext.global-this.js\";\nimport \"core-js/modules/es.array.sort.js\";\nimport * as e from \"react\";\nimport t from \"react\";\nimport r from \"prop-types\";\nimport n from \"invariant\";\nfunction o() {\n return o = Object.assign ? Object.assign.bind() : function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);\n }\n return e;\n }, o.apply(this, arguments);\n}\nfunction a(e, t) {\n if (null == e) return {};\n var r,\n n,\n o = {},\n a = Object.keys(e);\n for (n = 0; n < a.length; n++) t.indexOf(r = a[n]) >= 0 || (o[r] = e[r]);\n return o;\n}\nvar s = function s(e) {\n var _e$location = e.location,\n t = _e$location.search,\n r = _e$location.hash,\n n = _e$location.href,\n o = _e$location.origin,\n a = _e$location.protocol,\n s = _e$location.host,\n i = _e$location.hostname,\n c = _e$location.port;\n var l = e.location.pathname;\n return !l && n && u && (l = new URL(n).pathname), {\n pathname: encodeURI(decodeURI(l)),\n search: t,\n hash: r,\n href: n,\n origin: o,\n protocol: a,\n host: s,\n hostname: i,\n port: c,\n state: e.history.state,\n key: e.history.state && e.history.state.key || \"initial\"\n };\n },\n i = function i(e, t) {\n var r = [],\n n = s(e),\n a = !1,\n i = function i() {};\n return {\n get location() {\n return n;\n },\n get transitioning() {\n return a;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n a = !1, i();\n },\n listen: function listen(t) {\n r.push(t);\n var o = function o() {\n n = s(e), t({\n location: n,\n action: \"POP\"\n });\n };\n return e.addEventListener(\"popstate\", o), function () {\n e.removeEventListener(\"popstate\", o), r = r.filter(function (e) {\n return e !== t;\n });\n };\n },\n navigate: function navigate(t) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n c = _ref.state,\n _ref$replace = _ref.replace,\n u = _ref$replace === void 0 ? !1 : _ref$replace;\n if (\"number\" == typeof t) e.history.go(t);else {\n c = o({}, c, {\n key: Date.now() + \"\"\n });\n try {\n a || u ? e.history.replaceState(c, null, t) : e.history.pushState(c, null, t);\n } catch (r) {\n e.location[u ? \"replace\" : \"assign\"](t);\n }\n }\n n = s(e), a = !0;\n var l = new Promise(function (e) {\n return i = e;\n });\n return r.forEach(function (e) {\n return e({\n location: n,\n action: \"PUSH\"\n });\n }), l;\n }\n };\n },\n c = function c() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var t = e.indexOf(\"?\"),\n r = {\n pathname: t > -1 ? e.substr(0, t) : e,\n search: t > -1 ? e.substr(t) : \"\"\n };\n var n = 0;\n var o = [r],\n a = [null];\n return {\n get location() {\n return o[n];\n },\n addEventListener: function addEventListener(e, t) {},\n removeEventListener: function removeEventListener(e, t) {},\n history: {\n get entries() {\n return o;\n },\n get index() {\n return n;\n },\n get state() {\n return a[n];\n },\n pushState: function pushState(e, t, r) {\n var _r$split = r.split(\"?\"),\n _r$split2 = _slicedToArray(_r$split, 2),\n s = _r$split2[0],\n _r$split2$ = _r$split2[1],\n i = _r$split2$ === void 0 ? \"\" : _r$split2$;\n n++, o.push({\n pathname: s,\n search: i.length ? \"?\".concat(i) : i\n }), a.push(e);\n },\n replaceState: function replaceState(e, t, r) {\n var _r$split3 = r.split(\"?\"),\n _r$split4 = _slicedToArray(_r$split3, 2),\n s = _r$split4[0],\n _r$split4$ = _r$split4[1],\n i = _r$split4$ === void 0 ? \"\" : _r$split4$;\n o[n] = {\n pathname: s,\n search: i\n }, a[n] = e;\n },\n go: function go(e) {\n var t = n + e;\n t < 0 || t > a.length - 1 || (n = t);\n }\n }\n };\n },\n u = !(\"undefined\" == typeof window || !window.document || !window.document.createElement),\n l = i(u ? window : c()),\n p = l.navigate;\nfunction h(e, r) {\n return t.createServerContext ? function (e) {\n var r = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return globalThis.__SERVER_CONTEXT || (globalThis.__SERVER_CONTEXT = {}), globalThis.__SERVER_CONTEXT[e] || (globalThis.__SERVER_CONTEXT[e] = t.createServerContext(e, r)), globalThis.__SERVER_CONTEXT[e];\n }(e, r) : t.createContext(r);\n}\nvar m = h(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\"\n }),\n d = h(\"Location\"),\n f = function f() {\n return e.useContext(m);\n },\n y = function y() {\n return e.useContext(d);\n };\nfunction E(e) {\n this.uri = e;\n}\nvar g = function g(e) {\n return e instanceof E;\n },\n v = function v(e) {\n throw new E(e);\n };\nfunction b(t) {\n var r = t.to,\n _t$replace = t.replace,\n n = _t$replace === void 0 ? !0 : _t$replace,\n o = t.state,\n a = t.noThrow,\n s = t.baseuri;\n e.useEffect(function () {\n Promise.resolve().then(function () {\n var e = k(r, s);\n p(P(e, t), {\n replace: n,\n state: o\n });\n });\n }, []);\n var i = k(r, s);\n return a || v(P(i, t)), null;\n}\nvar R = function R(t) {\n var r = y(),\n _f = f(),\n n = _f.baseuri; /*#__PURE__*/\n return e.createElement(b, o({}, r, {\n baseuri: n\n }, t));\n};\nR.propTypes = {\n from: r.string,\n to: r.string.isRequired\n};\nvar C = function C(e, t) {\n return e.substr(0, t.length) === t;\n },\n w = function w(e, t) {\n var r, o;\n var _t$split = t.split(\"?\"),\n _t$split2 = _slicedToArray(_t$split, 1),\n a = _t$split2[0],\n s = N(a),\n i = \"\" === s[0],\n c = j(e);\n for (var _e = 0, _a = c.length; _e < _a; _e++) {\n var _a2 = !1;\n var _u = c[_e].route;\n if (_u.default) {\n o = {\n route: _u,\n params: {},\n uri: t\n };\n continue;\n }\n var _l = N(_u.path),\n _p = {},\n _h = Math.max(s.length, _l.length);\n var _m = 0;\n for (; _m < _h; _m++) {\n var _e2 = _l[_m],\n _t = s[_m];\n if ($(_e2)) {\n _p[_e2.slice(1) || \"*\"] = s.slice(_m).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (void 0 === _t) {\n _a2 = !0;\n break;\n }\n var _r = O.exec(_e2);\n if (_r && !i) {\n var _e3 = -1 === U.indexOf(_r[1]);\n n(_e3, \" dynamic segment \\\"\".concat(_r[1], \"\\\" is a reserved name. Please use a different name in path \\\"\").concat(_u.path, \"\\\".\"));\n var _o = decodeURIComponent(_t);\n _p[_r[1]] = _o;\n } else if (_e2 !== _t) {\n _a2 = !0;\n break;\n }\n }\n if (!_a2) {\n r = {\n route: _u,\n params: _p,\n uri: \"/\" + s.slice(0, _m).join(\"/\")\n };\n break;\n }\n }\n return r || o || null;\n },\n x = function x(e, t) {\n return w([{\n path: e\n }], t);\n },\n k = function k(e, t) {\n if (C(e, \"/\")) return e;\n var _e$split = e.split(\"?\"),\n _e$split2 = _slicedToArray(_e$split, 2),\n r = _e$split2[0],\n n = _e$split2[1],\n _t$split3 = t.split(\"?\"),\n _t$split4 = _slicedToArray(_t$split3, 1),\n o = _t$split4[0],\n a = N(r),\n s = N(o);\n if (\"\" === a[0]) return L(o, n);\n if (!C(a[0], \".\")) {\n var _e4 = s.concat(a).join(\"/\");\n return L((\"/\" === o ? \"\" : \"/\") + _e4, n);\n }\n var i = s.concat(a),\n c = [];\n for (var _e5 = 0, _t2 = i.length; _e5 < _t2; _e5++) {\n var _t3 = i[_e5];\n \"..\" === _t3 ? c.pop() : \".\" !== _t3 && c.push(_t3);\n }\n return L(\"/\" + c.join(\"/\"), n);\n },\n P = function P(e, t) {\n var _e$split3 = e.split(\"?\"),\n _e$split4 = _slicedToArray(_e$split3, 2),\n r = _e$split4[0],\n _e$split4$ = _e$split4[1],\n n = _e$split4$ === void 0 ? \"\" : _e$split4$;\n var o = \"/\" + N(r).map(function (e) {\n var r = O.exec(e);\n return r ? t[r[1]] : e;\n }).join(\"/\");\n var _t$location = t.location,\n _t$location2 = _t$location === void 0 ? {} : _t$location,\n _t$location2$search = _t$location2.search,\n a = _t$location2$search === void 0 ? \"\" : _t$location2$search,\n s = a.split(\"?\")[1] || \"\";\n return o = L(o, n, s), o;\n },\n T = function T(e, t) {\n var r = function r(e) {\n return _(e);\n };\n return N(e).filter(r).sort().join(\"/\") === N(t).filter(r).sort().join(\"/\");\n },\n O = /^:(.+)/,\n _ = function _(e) {\n return O.test(e);\n },\n $ = function $(e) {\n return e && \"*\" === e[0];\n },\n S = function S(e, t) {\n return {\n route: e,\n score: e.default ? 0 : N(e.path).reduce(function (e, t) {\n return e += 4, function (e) {\n return \"\" === e;\n }(t) ? e += 1 : _(t) ? e += 2 : $(t) ? e -= 5 : e += 3, e;\n }, 0),\n index: t\n };\n },\n j = function j(e) {\n return e.map(S).sort(function (e, t) {\n return e.score < t.score ? 1 : e.score > t.score ? -1 : e.index - t.index;\n });\n },\n N = function N(e) {\n return e.replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n },\n L = function L(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n return e + ((t = t.filter(function (e) {\n return e && e.length > 0;\n })) && t.length > 0 ? \"?\".concat(t.join(\"&\")) : \"\");\n },\n U = [\"uri\", \"path\"],\n D = function D(e, t) {\n var r = Object.keys(e);\n return r.length === Object.keys(t).length && r.every(function (r) {\n return t.hasOwnProperty(r) && e[r] === t[r];\n });\n },\n M = function M(e) {\n return e.replace(/(^\\/+|\\/+$)/g, \"\");\n },\n I = function I(t) {\n return function (r) {\n if (!r) return null;\n if (r.type === e.Fragment && r.props.children) return e.Children.map(r.props.children, I(t));\n if (n(r.props.path || r.props.default || r.type === R, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\".concat(r.type, \"`\")), n(!!(r.type !== R || r.props.from && r.props.to), \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\")), n(!(r.type === R && !T(r.props.from, r.props.to)), \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\")), r.props.default) return {\n value: r,\n default: !0\n };\n var o = r.type === R ? r.props.from : r.props.path,\n a = \"/\" === o ? t : \"\".concat(M(t), \"/\").concat(M(o));\n return {\n value: r,\n default: r.props.default,\n path: r.props.children ? \"\".concat(M(a), \"/*\") : a\n };\n };\n },\n V = [\"innerRef\"],\n q = [\"to\", \"state\", \"replace\", \"getProps\"],\n X = [\"key\"];\nvar B = e.forwardRef;\nvoid 0 === B && (B = function B(e) {\n return e;\n});\nvar K = function K() {},\n A = B(function (t, r) {\n var n = t.innerRef,\n s = a(t, V);\n var _f2 = f(),\n i = _f2.baseuri,\n _y = y(),\n c = _y.location,\n u = s.to,\n l = s.state,\n h = s.replace,\n _s$getProps = s.getProps,\n m = _s$getProps === void 0 ? K : _s$getProps,\n d = a(s, q),\n E = k(u, i),\n g = encodeURI(E),\n v = c.pathname === g,\n b = C(c.pathname, g); /*#__PURE__*/\n return e.createElement(\"a\", o({\n ref: r || n,\n \"aria-current\": v ? \"page\" : void 0\n }, d, m({\n isCurrent: v,\n isPartiallyCurrent: b,\n href: E,\n location: c\n }), {\n href: E,\n onClick: function onClick(e) {\n if (d.onClick && d.onClick(e), function (e) {\n return !e.defaultPrevented && 0 === e.button && !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n }(e)) {\n e.preventDefault();\n var _t4 = h;\n if (\"boolean\" != typeof h && v) {\n var _e6 = a(o({}, c.state), X);\n _t4 = D(o({}, l), _e6);\n }\n p(E, {\n state: l,\n replace: _t4\n });\n }\n }\n }));\n });\nA.displayName = \"Link\", A.propTypes = {\n to: r.string.isRequired\n};\nvar F = /*#__PURE__*/function (_e$Component) {\n _inherits(F, _e$Component);\n var _super = _createSuper(F);\n function F() {\n var _this;\n _classCallCheck(this, F);\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n _this = _super.call.apply(_super, [this].concat(e)), _this.displayName = \"ReactUseErrorBoundary\";\n return _this;\n }\n _createClass(F, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch() {\n var _this$props;\n this.setState({}), (_this$props = this.props).onError.apply(_this$props, arguments);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return F;\n}(e.Component);\nvar W = e.createContext({\n componentDidCatch: {\n current: void 0\n },\n error: void 0,\n setError: function setError() {\n return !1;\n }\n});\nfunction H(_ref2) {\n var t = _ref2.children;\n var _e$useState = e.useState(),\n _e$useState2 = _slicedToArray(_e$useState, 2),\n r = _e$useState2[0],\n n = _e$useState2[1],\n o = e.useRef(),\n a = e.useMemo(function () {\n return {\n componentDidCatch: o,\n error: r,\n setError: n\n };\n }, [r]); /*#__PURE__*/\n return e.createElement(W.Provider, {\n value: a\n }, /*#__PURE__*/e.createElement(F, {\n error: r,\n onError: function onError(e, t) {\n n(e), null == o.current || o.current(e, t);\n }\n }, t));\n}\nH.displayName = \"ReactUseErrorBoundaryContext\";\nvar z = function (t) {\n var r, n;\n function a(r) {\n /*#__PURE__*/return e.createElement(H, null, /*#__PURE__*/e.createElement(t, o({\n key: \"WrappedComponent\"\n }, r)));\n }\n return a.displayName = \"WithErrorBoundary(\".concat(null != (r = null != (n = t.displayName) ? n : t.name) ? r : \"Component\", \")\"), a;\n }(function (_ref3) {\n var _ref3$history = _ref3.history,\n t = _ref3$history === void 0 ? l : _ref3$history,\n r = _ref3.children;\n var n = t.location,\n _e$useState3 = e.useState({\n location: n\n }),\n _e$useState4 = _slicedToArray(_e$useState3, 2),\n o = _e$useState4[0],\n a = _e$useState4[1],\n _ref4 = function (t) {\n var r = e.useContext(W);\n r.componentDidCatch.current = void 0;\n var n = e.useCallback(function () {\n r.setError(void 0);\n }, []);\n return [r.error, n];\n }(),\n _ref5 = _slicedToArray(_ref4, 1),\n s = _ref5[0];\n if (e.useEffect(function () {\n t._onTransitionComplete();\n }, [o.location]), e.useEffect(function () {\n var e = !1;\n var r = t.listen(function (_ref6) {\n var t = _ref6.location;\n Promise.resolve().then(function () {\n requestAnimationFrame(function () {\n e || a({\n location: t\n });\n });\n });\n });\n return function () {\n e = !0, r();\n };\n }, []), s) {\n if (!g(s)) throw s;\n p(s.uri, {\n replace: !0\n });\n } /*#__PURE__*/\n return e.createElement(d.Provider, {\n value: o\n }, \"function\" == typeof r ? r(o) : r || null);\n }),\n G = function G(_ref7) {\n var t = _ref7.children;\n var r = y();\n return r ? t(r) : /*#__PURE__*/e.createElement(z, null, t);\n },\n J = function J(_ref8) {\n var t = _ref8.url,\n r = _ref8.children;\n var n = t.indexOf(\"?\");\n var o,\n a = \"\";\n return n > -1 ? (o = t.substring(0, n), a = t.substring(n)) : o = t, /*#__PURE__*/e.createElement(d.Provider, {\n value: {\n location: {\n pathname: o,\n search: a,\n hash: \"\"\n }\n }\n }, r);\n },\n Q = function Q(_ref9) {\n var e = _ref9.path,\n t = _ref9.children;\n var _f3 = f(),\n r = _f3.baseuri,\n _y2 = y(),\n n = _y2.location,\n a = k(e, r),\n s = x(a, n.pathname);\n return t({\n location: n,\n match: s ? o({}, s.params, {\n uri: s.uri,\n path: e\n }) : null\n });\n },\n Y = [\"uri\", \"location\", \"component\"],\n Z = [\"children\", \"style\", \"component\", \"uri\", \"location\"],\n ee = function ee(t) {\n var r = t.uri,\n n = t.location,\n s = t.component,\n i = a(t, Y); /*#__PURE__*/\n return e.createElement(re, o({}, i, {\n component: s,\n uri: r,\n location: n\n }));\n };\nvar te = 0;\nvar re = function re(t) {\n var r = t.children,\n n = t.style,\n _t$component = t.component,\n s = _t$component === void 0 ? \"div\" : _t$component,\n i = t.uri,\n c = t.location,\n u = a(t, Z);\n var l = e.useRef(),\n p = e.useRef(!0),\n h = e.useRef(i),\n m = e.useRef(c.pathname),\n d = e.useRef(!1);\n e.useEffect(function () {\n return te++, f(), function () {\n te--, 0 === te && (p.current = !0);\n };\n }, []), e.useEffect(function () {\n var e = !1,\n t = !1;\n i !== h.current && (h.current = i, e = !0), c.pathname !== m.current && (m.current = c.pathname, t = !0), d.current = e || t && c.pathname === i, d.current && f();\n }, [i, c]);\n var f = e.useCallback(function () {\n var e;\n \"test\" !== process.env.NODE_ENV && (p.current ? p.current = !1 : (e = l.current, d.current && e && e.focus()));\n }, []); /*#__PURE__*/\n return e.createElement(s, o({\n style: o({\n outline: \"none\"\n }, n),\n tabIndex: \"-1\",\n ref: l\n }, u), r);\n },\n ne = [\"location\", \"primary\", \"children\", \"basepath\", \"baseuri\", \"component\"],\n oe = function oe(t) {\n var r = f(),\n n = y(); /*#__PURE__*/\n return e.createElement(ae, o({}, r, n, t));\n };\nfunction ae(t) {\n var r = t.location,\n _t$primary = t.primary,\n n = _t$primary === void 0 ? !0 : _t$primary,\n s = t.children,\n i = t.basepath,\n _t$component2 = t.component,\n c = _t$component2 === void 0 ? \"div\" : _t$component2,\n u = a(t, ne),\n l = e.Children.toArray(s).reduce(function (e, t) {\n var r = I(i)(t);\n return e.concat(r);\n }, []),\n p = r.pathname,\n h = w(l, p);\n if (h) {\n var _t5 = h.params,\n _a3 = h.uri,\n _s = h.route,\n _l2 = h.route.value,\n _p2 = _s.default ? i : _s.path.replace(/\\*$/, \"\"),\n _d = o({}, _t5, {\n uri: _a3,\n location: r\n }),\n _f4 = e.cloneElement(_l2, _d, _l2.props.children ? /*#__PURE__*/e.createElement(oe, {\n location: r,\n primary: n\n }, _l2.props.children) : void 0),\n _y3 = n ? ee : c,\n _E = n ? o({\n uri: _a3,\n location: r,\n component: c\n }, u) : u; /*#__PURE__*/\n return e.createElement(m.Provider, {\n value: {\n baseuri: _a3,\n basepath: _p2\n }\n }, /*#__PURE__*/e.createElement(_y3, _E, _f4));\n }\n return null;\n}\nvar se = function se() {\n var e = y();\n if (!e) throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n return e.location;\n },\n ie = function ie() {\n throw new Error(\"useNavigate is removed. Use import { navigate } from 'gatsby' instead\");\n },\n ce = function ce() {\n var e = f();\n if (!e) throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n var t = se(),\n r = x(e.basepath, t.pathname);\n return r ? r.params : null;\n },\n ue = function ue(e) {\n if (!e) throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n var t = f();\n if (!t) throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n var r = se(),\n n = k(e, t.baseuri),\n a = x(n, r.pathname);\n return a ? o({}, a.params, {\n uri: a.uri,\n path: e\n }) : null;\n };\nexport { m as BaseContext, A as Link, G as Location, d as LocationContext, z as LocationProvider, Q as Match, R as Redirect, oe as Router, J as ServerLocation, i as createHistory, c as createMemorySource, l as globalHistory, P as insertParams, g as isRedirect, x as match, p as navigate, w as pick, v as redirectTo, k as resolve, D as shallowCompare, C as startsWith, f as useBaseContext, se as useLocation, y as useLocationContext, ue as useMatch, ie as useNavigate, ce as useParams, T as validateRedirect };","/*!\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 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n var nativeCodeString = '[native code]';\n function classNames() {\n var classes = [];\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n classes.push(arg.toString());\n continue;\n }\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n return classes.join(' ');\n }\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","\"use strict\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nvar endsWithSuffixes = function endsWithSuffixes(suffixes, input) {\n var _iterator = _createForOfIteratorHelper(suffixes),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var suffix = _step.value;\n if (input.endsWith(suffix)) return true;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return false;\n};\nvar suffixes = [\".html\", \".json\", \".js\", \".map\", \".txt\", \".xml\", \".pdf\"];\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"always\";\n if (input === \"/\") return input;\n var hasTrailingSlash = input.endsWith(\"/\");\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === \"always\") {\n return hasTrailingSlash ? input : \"\".concat(input, \"/\");\n }\n if (option === \"never\") {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(function (script) {\n return (script === null || script === void 0 ? void 0 : script.forward) || [];\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n var forwards = (0, _getForwards.getForwards)(collectedScripts);\n var snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\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;\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 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\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 if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n var keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n return targetComponent;\n}\nmodule.exports = hoistNonReactStatics;","/** @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';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n default:\n return u;\n }\n }\n case d:\n return u;\n }\n }\n}\nfunction A(a) {\n return z(a) === m;\n}\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\nexports.isConcurrentMode = A;\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\nexports.isFragment = function (a) {\n return z(a) === e;\n};\nexports.isLazy = function (a) {\n return z(a) === t;\n};\nexports.isMemo = function (a) {\n return z(a) === r;\n};\nexports.isPortal = function (a) {\n return z(a) === d;\n};\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\nexports.isValidElementType = function (a) {\n 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);\n};\nexports.typeOf = z;","'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}","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 React, { createContext } from 'react';\nimport warning from 'tiny-warning';\nimport hoist from 'hoist-non-react-statics';\nimport getDisplayName from 'react-display-name';\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 return obj;\n}\nfunction _extends() {\n _extends = Object.assign || 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}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\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 isObject(obj) {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj);\n}\nfunction createThemeProvider(context) {\n var ThemeProvider = /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(ThemeProvider, _React$Component);\n function ThemeProvider() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"cachedTheme\", void 0);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"lastOuterTheme\", void 0);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"lastTheme\", void 0);\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"renderProvider\", function (outerTheme) {\n var children = _this.props.children;\n return React.createElement(context.Provider, {\n value: _this.getTheme(outerTheme)\n }, children);\n });\n return _this;\n }\n var _proto = ThemeProvider.prototype;\n\n // Get the theme from the props, supporting both (outerTheme) => {} as well as object notation\n _proto.getTheme = function getTheme(outerTheme) {\n if (this.props.theme !== this.lastTheme || outerTheme !== this.lastOuterTheme || !this.cachedTheme) {\n this.lastOuterTheme = outerTheme;\n this.lastTheme = this.props.theme;\n if (typeof this.lastTheme === 'function') {\n var theme = this.props.theme;\n this.cachedTheme = theme(outerTheme);\n process.env.NODE_ENV !== \"production\" ? warning(isObject(this.cachedTheme), '[ThemeProvider] Please return an object from your theme function') : void 0;\n } else {\n var _theme = this.props.theme;\n process.env.NODE_ENV !== \"production\" ? warning(isObject(_theme), '[ThemeProvider] Please make your theme prop a plain object') : void 0;\n this.cachedTheme = outerTheme ? _extends({}, outerTheme, _theme) : _theme;\n }\n }\n return this.cachedTheme;\n };\n _proto.render = function render() {\n var children = this.props.children;\n if (!children) {\n return null;\n }\n return React.createElement(context.Consumer, null, this.renderProvider);\n };\n return ThemeProvider;\n }(React.Component);\n if (process.env.NODE_ENV !== 'production') {}\n return ThemeProvider;\n}\nfunction createWithTheme(context) {\n return function hoc(Component) {\n var withTheme = React.forwardRef(function (props, ref) {\n return React.createElement(context.Consumer, null, function (theme) {\n process.env.NODE_ENV !== \"production\" ? warning(isObject(theme), '[theming] Please use withTheme only with the ThemeProvider') : void 0;\n return React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n withTheme.displayName = \"WithTheme(\" + getDisplayName(Component) + \")\";\n }\n hoist(withTheme, Component);\n return withTheme;\n };\n}\nfunction createUseTheme(context) {\n var useTheme = function useTheme() {\n var theme = React.useContext(context);\n process.env.NODE_ENV !== \"production\" ? warning(isObject(theme), '[theming] Please use useTheme only with the ThemeProvider') : void 0;\n return theme;\n };\n return useTheme;\n}\nfunction createTheming(context) {\n return {\n context: context,\n withTheme: createWithTheme(context),\n useTheme: createUseTheme(context),\n ThemeProvider: createThemeProvider(context)\n };\n}\nvar ThemeContext = createContext();\nvar _createTheming = createTheming(ThemeContext),\n withTheme = _createTheming.withTheme,\n ThemeProvider = _createTheming.ThemeProvider,\n useTheme = _createTheming.useTheme;\nexport { useTheme, ThemeContext, withTheme, createTheming, ThemeProvider };","var _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};\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\nexport default isBrowser;","import \"core-js/modules/esnext.global-this.js\";\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n return null;\n}\nvar join = function join(value, by) {\n var result = '';\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n return cssValue;\n};\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n if (options.format === false) {\n indent = -Infinity;\n }\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n for (var prop in fallback) {\n var value = fallback[prop];\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = function escape(str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n};\nvar BaseStyleRule = /*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n var _proto = BaseStyleRule.prototype;\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n var isEmpty = newValue == null || newValue === false;\n var isDefined = (name in this.style); // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n var sheet = this.options.sheet;\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n return this;\n };\n return BaseStyleRule;\n}();\nvar StyleRule = /*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n function StyleRule(key, style, options) {\n var _this;\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n if (renderer) {\n var json = this.toJSON();\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n return json;\n }\n /**\n * Generates a CSS string.\n */;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */,\n\n get: function get() {\n return this.selectorText;\n }\n }]);\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n return new StyleRule(key, style, options);\n }\n};\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule = /*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n var _proto = ConditionalRule.prototype;\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n if (options.children === false) {\n return this.query + \" {}\";\n }\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n return ConditionalRule;\n}();\nvar keyRegExp = /@container|@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule = /*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n var _proto = KeyframesRule.prototype;\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n if (!sheet) {\n return val;\n }\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n default:\n return val;\n }\n }\n};\nvar KeyframeRule = /*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n return null;\n }\n};\nvar FontFaceRule = /*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n var _proto = FontFaceRule.prototype;\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n if (Array.isArray(this.style)) {\n var str = '';\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n return str;\n }\n return toCss(this.at, this.style, options);\n };\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\nvar ViewportRule = /*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n var _proto = ViewportRule.prototype;\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\nvar SimpleRule = /*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n var _proto = SimpleRule.prototype;\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n return str;\n }\n return this.key + \" \" + this.value + \";\";\n };\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n};\n\nvar RuleList = /*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n var _proto = RuleList.prototype;\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n var key = name;\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n this.raw[key] = decl;\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n if (oldRule) {\n this.remove(oldRule);\n }\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n return str;\n };\n return RuleList;\n}();\nvar StyleSheet = /*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n this.rules = new RuleList(this.options);\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n var _proto = StyleSheet.prototype;\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n return added;\n }\n /**\n * Get a rule by name or selector.\n */;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n if (!rule ||\n // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n this.rules.remove(rule);\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n return true;\n }\n /**\n * Get index of a rule.\n */;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */;\n\n _proto.update = function update() {\n var _this$rules;\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n return this;\n }\n /**\n * Updates a single rule.\n */;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n return StyleSheet;\n}();\nvar PluginsRegistry = /*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n return processedValue;\n }\n /**\n * Register a plugin.\n */;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry = /*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n var css = '';\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n return css;\n };\n _createClass(SheetsRegistry, [{\n key: \"index\",\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n var ruleCounter = 0;\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n var jssId = '';\n var prefix = '';\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n return true;\n};\n/**\n * Remove a style property.\n */\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\nfunction findCommentNode(text) {\n var head = getHead();\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n sheet = findHighestSheet(registry, options);\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n var insertionPoint = options.insertionPoint;\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n return container.cssRules[index];\n};\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n return index;\n};\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\nvar DomRenderer = /*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n var _proto = DomRenderer.prototype;\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n if (latestNativeParent === false) {\n return false;\n }\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n if (nativeRule === false) {\n return false;\n }\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n return DomRenderer;\n}();\nvar instanceCounter = 0;\nvar Jss = /*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.10.0\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n var _proto = Jss.prototype;\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n index = _options.index;\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n var rule = createRule(name, style, ruleOptions);\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */;\n\n _proto.use = function use() {\n var _this = this;\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n return Jss;\n}();\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager = /*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n var _proto = SheetsManager.prototype;\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n entry.refs++;\n return entry.sheet;\n }\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\nexport default functionPlugin;","import $$observable from 'symbol-observable';\nimport { createRule } from 'jss';\nvar isObservable = function isObservable(value) {\n return value && value[$$observable] && value === value[$$observable]();\n};\nvar observablePlugin = function observablePlugin(updateOptions) {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (!isObservable(decl)) return null;\n var style$ = decl;\n var rule = createRule(name, {}, options); // TODO\n // Call `stream.subscribe()` returns a subscription, which should be explicitly\n // unsubscribed from when we know this sheet is no longer needed.\n\n style$.subscribe(function (style) {\n for (var prop in style) {\n rule.prop(prop, style[prop], updateOptions);\n }\n });\n return rule;\n },\n onProcessRule: function onProcessRule(rule) {\n if (rule && rule.type !== 'style') return;\n var styleRule = rule;\n var style = styleRule.style;\n var _loop = function _loop(prop) {\n var value = style[prop];\n if (!isObservable(value)) return \"continue\";\n delete style[prop];\n value.subscribe({\n next: function next(nextValue) {\n styleRule.prop(prop, nextValue, updateOptions);\n }\n });\n };\n for (var prop in style) {\n var _ret = _loop(prop);\n if (_ret === \"continue\") continue;\n }\n }\n };\n};\nexport default observablePlugin;","import warning from 'tiny-warning';\nvar semiWithNl = /;\\n/;\n/**\n * Naive CSS parser.\n * - Supports only rule body (no selectors)\n * - Requires semicolon and new line after the value (except of last line)\n * - No nested rules support\n */\n\nvar parse = function parse(cssText) {\n var style = {};\n var split = cssText.split(semiWithNl);\n for (var i = 0; i < split.length; i++) {\n var decl = (split[i] || '').trim();\n if (!decl) continue;\n var colonIndex = decl.indexOf(':');\n if (colonIndex === -1) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Malformed CSS string \\\"\" + decl + \"\\\"\") : void 0;\n continue;\n }\n var prop = decl.substr(0, colonIndex).trim();\n var value = decl.substr(colonIndex + 1).trim();\n style[prop] = value;\n }\n return style;\n};\nvar onProcessRule = function onProcessRule(rule) {\n if (typeof rule.style === 'string') {\n rule.style = parse(rule.style);\n }\n};\nfunction templatePlugin() {\n return {\n onProcessRule: onProcessRule\n };\n}\nexport default templatePlugin;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\nvar at = '@global';\nvar atPrefix = '@global ';\nvar GlobalContainerRule = /*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n var _proto = GlobalContainerRule.prototype;\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n return GlobalContainerRule;\n}();\nvar GlobalPrefixedRule = /*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n var _proto2 = GlobalPrefixedRule.prototype;\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n return GlobalPrefixedRule;\n}();\nvar separatorRegExp = /\\s*,\\s*/g;\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n return scoped;\n}\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n delete style[at];\n}\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n var parent = options.parent;\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n return null;\n }\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\nexport default jssGlobal;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\nvar isObject = function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n};\nvar valueNs = \"extendCurrValue\" + Date.now();\nfunction mergeExtend(style, rule, sheet, newStyle) {\n var extendType = typeof style.extend; // Extend using a rule name.\n\n if (extendType === 'string') {\n if (!sheet) return;\n var refRule = sheet.getRule(style.extend);\n if (!refRule) return;\n if (refRule === rule) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] A rule tries to extend itself \\n\" + rule.toString()) : void 0;\n return;\n }\n var parent = refRule.options.parent;\n if (parent) {\n var originalStyle = parent.rules.raw[style.extend];\n extend(originalStyle, rule, sheet, newStyle);\n }\n return;\n } // Extend using an array.\n\n if (Array.isArray(style.extend)) {\n for (var index = 0; index < style.extend.length; index++) {\n var singleExtend = style.extend[index];\n var singleStyle = typeof singleExtend === 'string' ? _extends({}, style, {\n extend: singleExtend\n }) : style.extend[index];\n extend(singleStyle, rule, sheet, newStyle);\n }\n return;\n } // Extend is a style object.\n\n for (var prop in style.extend) {\n if (prop === 'extend') {\n extend(style.extend.extend, rule, sheet, newStyle);\n continue;\n }\n if (isObject(style.extend[prop])) {\n if (!(prop in newStyle)) newStyle[prop] = {};\n extend(style.extend[prop], rule, sheet, newStyle[prop]);\n continue;\n }\n newStyle[prop] = style.extend[prop];\n }\n}\nfunction mergeRest(style, rule, sheet, newStyle) {\n // Copy base style.\n for (var prop in style) {\n if (prop === 'extend') continue;\n if (isObject(newStyle[prop]) && isObject(style[prop])) {\n extend(style[prop], rule, sheet, newStyle[prop]);\n continue;\n }\n if (isObject(style[prop])) {\n newStyle[prop] = extend(style[prop], rule, sheet);\n continue;\n }\n newStyle[prop] = style[prop];\n }\n}\n/**\n * Recursively extend styles.\n */\n\nfunction extend(style, rule, sheet, newStyle) {\n if (newStyle === void 0) {\n newStyle = {};\n }\n mergeExtend(style, rule, sheet, newStyle);\n mergeRest(style, rule, sheet, newStyle);\n return newStyle;\n}\n/**\n * Handle `extend` property.\n */\n\nfunction jssExtend() {\n function onProcessStyle(style, rule, sheet) {\n if ('extend' in style) return extend(style, rule, sheet);\n return style;\n }\n function onChangeValue(value, prop, rule) {\n if (prop !== 'extend') return value; // Value is empty, remove properties set previously.\n\n if (value == null || value === false) {\n for (var key in rule[valueNs]) {\n rule.prop(key, null);\n }\n rule[valueNs] = null;\n return null;\n }\n if (typeof value === 'object') {\n for (var _key in value) {\n rule.prop(_key, value[_key]);\n }\n rule[valueNs] = value;\n } // Make sure we don't set the value in the core.\n\n return null;\n }\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\nexport default jssExtend;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n if (rule) {\n return rule.selector;\n }\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n return result;\n }\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n });\n\n delete options.name;\n return options;\n }\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n delete style[prop];\n }\n return style;\n }\n return {\n onProcessStyle: onProcessStyle\n };\n}\nexport default jssNested;","import warning from 'tiny-warning';\n\n/**\n * Set selector.\n *\n * @param original rule\n * @param className class string\n * @return flag indicating function was successfull or not\n */\n\nfunction registerClass(rule, className) {\n // Skip falsy values\n if (!className) return true; // Support array of class names `{composes: ['foo', 'bar']}`\n\n if (Array.isArray(className)) {\n for (var index = 0; index < className.length; index++) {\n var isSetted = registerClass(rule, className[index]);\n if (!isSetted) return false;\n }\n return true;\n } // Support space separated class names `{composes: 'foo bar'}`\n\n if (className.indexOf(' ') > -1) {\n return registerClass(rule, className.split(' '));\n }\n var parent = rule.options.parent; // It is a ref to a local rule.\n\n if (className[0] === '$') {\n var refRule = parent.getRule(className.substr(1));\n if (!refRule) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced rule is not defined. \\n\" + rule.toString()) : void 0;\n return false;\n }\n if (refRule === rule) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Cyclic composition detected. \\n\" + rule.toString()) : void 0;\n return false;\n }\n parent.classes[rule.key] += \" \" + parent.classes[refRule.key];\n return true;\n }\n parent.classes[rule.key] += \" \" + className;\n return true;\n}\n/**\n * Convert compose property to additional class, remove property from original styles.\n */\n\nfunction jssCompose() {\n function onProcessStyle(style, rule) {\n if (!('composes' in style)) return style;\n registerClass(rule, style.composes); // Remove composes property to prevent infinite loop.\n\n delete style.composes;\n return style;\n }\n return {\n onProcessStyle: onProcessStyle\n };\n}\nexport default jssCompose;","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","import hyphenate from 'hyphenate-style-name';\n\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n return style;\n }\n return convertCase(style);\n }\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\nexport default camelCase;","import { hasCSSTOMSupport } from 'jss';\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n var newObj = {};\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n return newObj;\n}\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n return value.toString();\n }\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n var camelCasedOptions = addCamelCasedVersion(options);\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n return style;\n }\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\nexport default defaultUnit;","/**\n * A scheme for converting properties from array to regular style.\n * All properties listed below will be transformed to a string separated by space.\n */\nvar propArray = {\n 'background-size': true,\n 'background-position': true,\n border: true,\n 'border-bottom': true,\n 'border-left': true,\n 'border-top': true,\n 'border-right': true,\n 'border-radius': true,\n 'border-image': true,\n 'border-width': true,\n 'border-style': true,\n 'border-color': true,\n 'box-shadow': true,\n flex: true,\n margin: true,\n padding: true,\n outline: true,\n 'transform-origin': true,\n transform: true,\n transition: true\n /**\n * A scheme for converting arrays to regular styles inside of objects.\n * For e.g.: \"{position: [0, 0]}\" => \"background-position: 0 0;\".\n */\n};\n\nvar propArrayInObj = {\n position: true,\n // background-position\n size: true // background-size\n\n /**\n * A scheme for parsing and building correct styles from passed objects.\n */\n};\n\nvar propObj = {\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n margin: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n background: {\n attachment: null,\n color: null,\n image: null,\n position: null,\n repeat: null\n },\n border: {\n width: null,\n style: null,\n color: null\n },\n 'border-top': {\n width: null,\n style: null,\n color: null\n },\n 'border-right': {\n width: null,\n style: null,\n color: null\n },\n 'border-bottom': {\n width: null,\n style: null,\n color: null\n },\n 'border-left': {\n width: null,\n style: null,\n color: null\n },\n outline: {\n width: null,\n style: null,\n color: null\n },\n 'list-style': {\n type: null,\n position: null,\n image: null\n },\n transition: {\n property: null,\n duration: null,\n 'timing-function': null,\n timingFunction: null,\n // Needed for avoiding comilation issues with jss-plugin-camel-case\n delay: null\n },\n animation: {\n name: null,\n duration: null,\n 'timing-function': null,\n timingFunction: null,\n // Needed to avoid compilation issues with jss-plugin-camel-case\n delay: null,\n 'iteration-count': null,\n iterationCount: null,\n // Needed to avoid compilation issues with jss-plugin-camel-case\n direction: null,\n 'fill-mode': null,\n fillMode: null,\n // Needed to avoid compilation issues with jss-plugin-camel-case\n 'play-state': null,\n playState: null // Needed to avoid compilation issues with jss-plugin-camel-case\n },\n\n 'box-shadow': {\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n color: null,\n inset: null\n },\n 'text-shadow': {\n x: 0,\n y: 0,\n blur: null,\n color: null\n }\n /**\n * A scheme for converting non-standart properties inside object.\n * For e.g.: include 'border-radius' property inside 'border' object.\n */\n};\n\nvar customPropObj = {\n border: {\n radius: 'border-radius',\n image: 'border-image',\n width: 'border-width',\n style: 'border-style',\n color: 'border-color'\n },\n 'border-bottom': {\n width: 'border-bottom-width',\n style: 'border-bottom-style',\n color: 'border-bottom-color'\n },\n 'border-top': {\n width: 'border-top-width',\n style: 'border-top-style',\n color: 'border-top-color'\n },\n 'border-left': {\n width: 'border-left-width',\n style: 'border-left-style',\n color: 'border-left-color'\n },\n 'border-right': {\n width: 'border-right-width',\n style: 'border-right-style',\n color: 'border-right-color'\n },\n background: {\n size: 'background-size',\n image: 'background-image'\n },\n font: {\n style: 'font-style',\n variant: 'font-variant',\n weight: 'font-weight',\n stretch: 'font-stretch',\n size: 'font-size',\n family: 'font-family',\n lineHeight: 'line-height',\n // Needed to avoid compilation issues with jss-plugin-camel-case\n 'line-height': 'line-height'\n },\n flex: {\n grow: 'flex-grow',\n basis: 'flex-basis',\n direction: 'flex-direction',\n wrap: 'flex-wrap',\n flow: 'flex-flow',\n shrink: 'flex-shrink'\n },\n align: {\n self: 'align-self',\n items: 'align-items',\n content: 'align-content'\n },\n grid: {\n 'template-columns': 'grid-template-columns',\n templateColumns: 'grid-template-columns',\n 'template-rows': 'grid-template-rows',\n templateRows: 'grid-template-rows',\n 'template-areas': 'grid-template-areas',\n templateAreas: 'grid-template-areas',\n template: 'grid-template',\n 'auto-columns': 'grid-auto-columns',\n autoColumns: 'grid-auto-columns',\n 'auto-rows': 'grid-auto-rows',\n autoRows: 'grid-auto-rows',\n 'auto-flow': 'grid-auto-flow',\n autoFlow: 'grid-auto-flow',\n row: 'grid-row',\n column: 'grid-column',\n 'row-start': 'grid-row-start',\n rowStart: 'grid-row-start',\n 'row-end': 'grid-row-end',\n rowEnd: 'grid-row-end',\n 'column-start': 'grid-column-start',\n columnStart: 'grid-column-start',\n 'column-end': 'grid-column-end',\n columnEnd: 'grid-column-end',\n area: 'grid-area',\n gap: 'grid-gap',\n 'row-gap': 'grid-row-gap',\n rowGap: 'grid-row-gap',\n 'column-gap': 'grid-column-gap',\n columnGap: 'grid-column-gap'\n }\n};\n\n/* eslint-disable no-use-before-define */\n/**\n * Map values by given prop.\n *\n * @param {Array} array of values\n * @param {String} original property\n * @param {String} original rule\n * @return {String} mapped values\n */\n\nfunction mapValuesByProp(value, prop, rule) {\n return value.map(function (item) {\n return objectToArray(item, prop, rule, false, true);\n });\n}\n/**\n * Convert array to nested array, if needed\n */\n\nfunction processArray(value, prop, scheme, rule) {\n if (scheme[prop] == null) return value;\n if (value.length === 0) return [];\n if (Array.isArray(value[0])) return processArray(value[0], prop, scheme, rule);\n if (typeof value[0] === 'object') {\n return mapValuesByProp(value, prop, rule);\n }\n return [value];\n}\n/**\n * Convert object to array.\n */\n\nfunction objectToArray(value, prop, rule, isFallback, isInArray) {\n if (!(propObj[prop] || customPropObj[prop])) return [];\n var result = []; // Check if exists any non-standard property\n\n if (customPropObj[prop]) {\n // eslint-disable-next-line no-param-reassign\n value = customPropsToStyle(value, rule, customPropObj[prop], isFallback);\n } // Pass throught all standart props\n\n if (Object.keys(value).length) {\n for (var baseProp in propObj[prop]) {\n if (value[baseProp]) {\n if (Array.isArray(value[baseProp])) {\n result.push(propArrayInObj[baseProp] === null ? value[baseProp] : value[baseProp].join(' '));\n } else result.push(value[baseProp]);\n continue;\n } // Add default value from props config.\n\n if (propObj[prop][baseProp] != null) {\n result.push(propObj[prop][baseProp]);\n }\n }\n }\n if (!result.length || isInArray) return result;\n return [result];\n}\n/**\n * Convert custom properties values to styles adding them to rule directly\n */\n\nfunction customPropsToStyle(value, rule, customProps, isFallback) {\n for (var prop in customProps) {\n var propName = customProps[prop]; // If current property doesn't exist already in rule - add new one\n\n if (typeof value[prop] !== 'undefined' && (isFallback || !rule.prop(propName))) {\n var _styleDetector;\n var appendedValue = styleDetector((_styleDetector = {}, _styleDetector[propName] = value[prop], _styleDetector), rule)[propName]; // Add style directly in rule\n\n if (isFallback) rule.style.fallbacks[propName] = appendedValue;else rule.style[propName] = appendedValue;\n } // Delete converted property to avoid double converting\n\n delete value[prop];\n }\n return value;\n}\n/**\n * Detect if a style needs to be converted.\n */\n\nfunction styleDetector(style, rule, isFallback) {\n for (var prop in style) {\n var value = style[prop];\n if (Array.isArray(value)) {\n // Check double arrays to avoid recursion.\n if (!Array.isArray(value[0])) {\n if (prop === 'fallbacks') {\n for (var index = 0; index < style.fallbacks.length; index++) {\n style.fallbacks[index] = styleDetector(style.fallbacks[index], rule, true);\n }\n continue;\n }\n style[prop] = processArray(value, prop, propArray, rule); // Avoid creating properties with empty values\n\n if (!style[prop].length) delete style[prop];\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n style.fallbacks = styleDetector(style.fallbacks, rule, true);\n continue;\n }\n style[prop] = objectToArray(value, prop, rule, isFallback); // Avoid creating properties with empty values\n\n if (!style[prop].length) delete style[prop];\n } // Maybe a computed value resulting in an empty string\n else if (style[prop] === '') delete style[prop];\n }\n return style;\n}\n/**\n * Adds possibility to write expanded styles.\n */\n\nfunction jssExpand() {\n function onProcessStyle(style, rule) {\n if (!style || rule.type !== 'style') return style;\n if (Array.isArray(style)) {\n // Pass rules one by one and reformat them\n for (var index = 0; index < style.length; index++) {\n style[index] = styleDetector(style[index], rule);\n }\n return style;\n }\n return styleDetector(style, rule);\n }\n return {\n onProcessStyle: onProcessStyle\n };\n}\nexport default jssExpand;","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n if (camelize(longhand) in style) {\n return prop;\n }\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n if (options.transform) {\n return prop;\n }\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n if (options.transition) {\n return prop;\n }\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n return _jsProp in style ? \"page-\" + prop : false;\n }\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n return prop;\n }\n};\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n if (!multiple) return false;\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n return newProp.map(prefixCss);\n }\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\nvar el;\nvar cache = {};\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n return cache[prop];\n}\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n return style;\n }\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\nexport default jssVendorPrefixer;","import \"core-js/modules/es.array.sort.js\";\n/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n return prop0.length - prop1.length;\n };\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n return newStyle;\n }\n };\n}\nexport default jssPropsSort;","import functions from 'jss-plugin-rule-value-function';\nimport observable from 'jss-plugin-rule-value-observable';\nimport template from 'jss-plugin-template';\nimport global from 'jss-plugin-global';\nimport extend from 'jss-plugin-extend';\nimport nested from 'jss-plugin-nested';\nimport compose from 'jss-plugin-compose';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport expand from 'jss-plugin-expand';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort';\nvar create = function create(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n plugins: [functions(), observable(options.observable), template(), global(), extend(), nested(), compose(), camelCase(), defaultUnit(options.defaultUnit), expand(), vendorPrefixer(), propsSort()]\n };\n};\nexport default create;","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */ && prop.charCodeAt(1) === 110\n /* n */ && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */);\n\nexport default index;","import { create } from 'jss';\nimport preset from 'jss-preset-default';\n\n// Since we are in a single sheet mode, user shouldn't care about this.\n\nvar MAX_RULES_PER_SHEET = 10000;\nvar defaultJss = create(preset());\nvar createCss = function createCss(jss) {\n if (jss === void 0) {\n jss = defaultJss;\n }\n var cache = new Map();\n var ruleIndex = 0;\n var sheet;\n var getSheet = function getSheet() {\n if (!sheet || sheet.rules.index.length > MAX_RULES_PER_SHEET) {\n sheet = jss.createStyleSheet().attach();\n }\n return sheet;\n };\n function css() {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments; // We can avoid the need for stringification with a babel plugin,\n // which could generate a hash at build time and add it to the object.\n\n var argsStr = JSON.stringify(args);\n var cached = cache.get(argsStr);\n if (cached) return cached.className;\n var flatArgs = []; // Flatten arguments which can be\n // - style objects\n // - array of style objects\n // - arrays of style objects\n\n for (var argIndex in args) {\n var arg = args[argIndex];\n if (!Array.isArray(arg)) {\n flatArgs.push(arg);\n continue;\n }\n for (var innerArgIndex = 0; innerArgIndex < arg.length; innerArgIndex++) {\n flatArgs.push(arg[innerArgIndex]);\n }\n }\n var mergedStyle = {};\n var labels = [];\n for (var i = 0; i < flatArgs.length; i++) {\n var style = flatArgs[i];\n if (!style) continue;\n var styleObject = style; // It can be a class name that css() has previously generated.\n\n if (typeof style === 'string') {\n // eslint-disable-next-line no-shadow\n var _cached = cache.get(style);\n if (_cached) {\n // eslint-disable-next-line prefer-spread\n if (_cached.labels.length) labels.push.apply(labels, _cached.labels);\n styleObject = _cached.style;\n }\n }\n if (styleObject.label && labels.indexOf(styleObject.label) === -1) labels.push(styleObject.label);\n Object.assign(mergedStyle, styleObject);\n }\n delete mergedStyle.label;\n var label = labels.length === 0 ? 'css' : labels.join('-');\n var key = label + \"-\" + ruleIndex++;\n getSheet().addRule(key, mergedStyle);\n var className = getSheet().classes[key];\n var cacheValue = {\n style: mergedStyle,\n labels: labels,\n className: className\n };\n cache.set(argsStr, cacheValue);\n cache.set(className, cacheValue);\n return className;\n } // For testing only.\n\n css.getSheet = getSheet;\n return css;\n};\nvar css = createCss();\nexport default css;\nexport { createCss as create };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { createContext, useRef, useContext, useMemo, useEffect, useLayoutEffect, useDebugValue, forwardRef, createElement } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { ThemeContext } from 'theming';\nexport { ThemeProvider, createTheming, useTheme, withTheme } from 'theming';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport { SheetsManager, create as create$1, getDynamicStyles, createGenerateId } from 'jss';\nexport { SheetsRegistry, createGenerateId } from 'jss';\nimport preset from 'jss-preset-default';\nimport { shallowEqualObjects } from 'shallow-equal';\nimport isPropValid from '@emotion/is-prop-valid';\nimport defaultCss from 'css-jss';\nvar getDisplayName = function getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n};\nvar memoize = function memoize(fn) {\n var lastArgs;\n var lastResult;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (Array.isArray(lastArgs) && args.length === lastArgs.length) {\n var isSame = true;\n for (var i = 0; i < args.length; i++) {\n if (args[i] !== lastArgs[i]) {\n isSame = false;\n }\n }\n if (isSame) {\n return lastResult;\n }\n }\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};\nvar mergeClasses = function mergeClasses(baseClasses, additionalClasses) {\n var combinedClasses = _extends({}, baseClasses);\n for (var name in additionalClasses) {\n combinedClasses[name] = name in combinedClasses ? combinedClasses[name] + \" \" + additionalClasses[name] : additionalClasses[name];\n }\n return combinedClasses;\n};\n\n/**\n * Global index counter to preserve source order.\n * As we create the style sheet during componentWillMount lifecycle,\n * children are handled after the parents, so the order of style elements would\n * be parent->child. It is a problem though when a parent passes a className\n * which needs to override any childs styles. StyleSheet of the child has a higher\n * specificity, because of the source order.\n * So our solution is to render sheets them in the reverse order child->sheet, so\n * that parent has a higher specificity.\n *\n * We start at [Number.MIN_SAFE_INTEGER] to always insert sheets from react-jss first before any\n * sheet which might be inserted manually by the user.\n */\nvar index = Number.MIN_SAFE_INTEGER || -1e9;\nvar getSheetIndex = function getSheetIndex() {\n return index++;\n};\nvar JssContext = createContext({\n classNamePrefix: '',\n disableStylesGeneration: false,\n isSSR: !isInBrowser\n});\nvar defaultManagers = new Map();\nvar getManager = function getManager(context, managerId) {\n // If `managers` map is present in the context, we use it in order to\n // let JssProvider reset them when new response has to render server-side.\n var managers = context.managers;\n if (managers) {\n if (!managers[managerId]) {\n managers[managerId] = new SheetsManager();\n }\n return managers[managerId];\n }\n var manager = defaultManagers.get(managerId);\n if (!manager) {\n manager = new SheetsManager();\n defaultManagers.set(managerId, manager);\n }\n return manager;\n};\nvar manageSheet = function manageSheet(options) {\n var sheet = options.sheet,\n context = options.context,\n index = options.index,\n theme = options.theme;\n if (!sheet) {\n return;\n }\n var manager = getManager(context, index);\n manager.manage(theme);\n if (context.registry) {\n context.registry.add(sheet);\n }\n};\nvar unmanageSheet = function unmanageSheet(options) {\n if (!options.sheet) {\n return;\n }\n var manager = getManager(options.context, options.index);\n manager.unmanage(options.theme);\n};\nvar defaultJss = create$1(preset());\nvar sheetsMeta = new WeakMap();\nvar getMeta = function getMeta(sheet) {\n return sheetsMeta.get(sheet);\n};\nvar addMeta = function addMeta(sheet, meta) {\n sheetsMeta.set(sheet, meta);\n};\nvar getStyles = function getStyles(options) {\n var styles = options.styles;\n if (typeof styles !== 'function') {\n return styles;\n }\n process.env.NODE_ENV !== \"production\" ? warning(styles.length !== 0, \"[JSS] <\" + (options.name || 'Hook') + \" />'s styles function doesn't rely on the \\\"theme\\\" argument. We recommend declaring styles as an object instead.\") : void 0;\n return styles(options.theme);\n};\nfunction getSheetOptions(options, link) {\n var minify;\n if (options.context.id && options.context.id.minify != null) {\n minify = options.context.id.minify;\n }\n var classNamePrefix = options.context.classNamePrefix || '';\n if (options.name && !minify) {\n classNamePrefix += options.name.replace(/\\s/g, '-') + \"-\";\n }\n var meta = '';\n if (options.name) meta = options.name + \", \";\n meta += typeof options.styles === 'function' ? 'Themed' : 'Unthemed';\n return _extends({}, options.sheetOptions, {\n index: options.index,\n meta: meta,\n classNamePrefix: classNamePrefix,\n link: link,\n generateId: options.sheetOptions && options.sheetOptions.generateId ? options.sheetOptions.generateId : options.context.generateId\n });\n}\nvar createStyleSheet = function createStyleSheet(options) {\n if (options.context.disableStylesGeneration) {\n return undefined;\n }\n var manager = getManager(options.context, options.index);\n var existingSheet = manager.get(options.theme);\n if (existingSheet) {\n return existingSheet;\n }\n var jss = options.context.jss || defaultJss;\n var styles = getStyles(options);\n var dynamicStyles = getDynamicStyles(styles);\n var sheet = jss.createStyleSheet(styles, getSheetOptions(options, dynamicStyles !== null));\n addMeta(sheet, {\n dynamicStyles: dynamicStyles,\n styles: styles\n });\n manager.add(options.theme, sheet);\n return sheet;\n};\nvar removeDynamicRules = function removeDynamicRules(sheet, rules) {\n // Loop over each dynamic rule and remove the dynamic rule\n // We can't just remove the whole sheet as this has all of the rules for every component instance\n for (var key in rules) {\n sheet.deleteRule(rules[key]);\n }\n};\nvar updateDynamicRules = function updateDynamicRules(data, sheet, rules) {\n // Loop over each dynamic rule and update it\n // We can't just update the whole sheet as this has all of the rules for every component instance\n for (var key in rules) {\n sheet.updateOne(rules[key], data);\n }\n};\nvar addDynamicRules = function addDynamicRules(sheet, data) {\n var meta = getMeta(sheet);\n if (!meta) {\n return undefined;\n }\n var rules = {}; // Loop over each dynamic rule and add it to the stylesheet\n\n for (var key in meta.dynamicStyles) {\n var initialRuleCount = sheet.rules.index.length;\n var originalRule = sheet.addRule(key, meta.dynamicStyles[key]); // Loop through all created rules, fixes updating dynamic rules\n\n for (var i = initialRuleCount; i < sheet.rules.index.length; i++) {\n var rule = sheet.rules.index[i];\n sheet.updateOne(rule, data); // If it's the original rule, we need to add it by the correct key so the hook and hoc\n // can correctly concat the dynamic class with the static one\n\n rules[originalRule === rule ? key : rule.key] = rule;\n }\n }\n return rules;\n};\nvar getSheetClasses = function getSheetClasses(sheet, dynamicRules) {\n if (!dynamicRules) {\n return sheet.classes;\n }\n var meta = getMeta(sheet);\n if (!meta) {\n return sheet.classes;\n }\n var classes = {};\n for (var key in meta.styles) {\n classes[key] = sheet.classes[key];\n if (key in dynamicRules) {\n classes[key] += \" \" + sheet.classes[dynamicRules[key].key];\n }\n }\n return classes;\n};\nfunction getUseInsertionEffect(isSSR) {\n return isSSR ? useEffect : React.useInsertionEffect ||\n // React 18+ (https://github.com/reactwg/react-18/discussions/110)\n useLayoutEffect;\n}\nvar noTheme = {};\nvar createUseStyles = function createUseStyles(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n _options$index = _options.index,\n index = _options$index === void 0 ? getSheetIndex() : _options$index,\n theming = _options.theming,\n name = _options.name,\n sheetOptions = _objectWithoutPropertiesLoose(_options, [\"index\", \"theming\", \"name\"]);\n var ThemeContext$1 = theming && theming.context || ThemeContext;\n var useTheme = function useTheme(theme) {\n if (typeof styles === 'function') {\n return theme || useContext(ThemeContext$1) || noTheme;\n }\n return noTheme;\n };\n var emptyObject = {};\n return function useStyles(data) {\n var isFirstMount = useRef(true);\n var context = useContext(JssContext);\n var theme = useTheme(data && data.theme);\n var _useMemo = useMemo(function () {\n var newSheet = createStyleSheet({\n context: context,\n styles: styles,\n name: name,\n theme: theme,\n index: index,\n sheetOptions: sheetOptions\n });\n if (newSheet && context.isSSR) {\n // manage immediately during SSRs. browsers will manage the sheet through useInsertionEffect below\n manageSheet({\n index: index,\n context: context,\n sheet: newSheet,\n theme: theme\n });\n }\n return [newSheet, newSheet ? addDynamicRules(newSheet, data) : null];\n }, [context, theme]),\n sheet = _useMemo[0],\n dynamicRules = _useMemo[1];\n getUseInsertionEffect(context.isSSR)(function () {\n // We only need to update the rules on a subsequent update and not in the first mount\n if (sheet && dynamicRules && !isFirstMount.current) {\n updateDynamicRules(data, sheet, dynamicRules);\n }\n }, [data]);\n getUseInsertionEffect(context.isSSR)(function () {\n if (sheet) {\n manageSheet({\n index: index,\n context: context,\n sheet: sheet,\n theme: theme\n });\n }\n return function () {\n if (sheet) {\n unmanageSheet({\n index: index,\n context: context,\n sheet: sheet,\n theme: theme\n }); // when sheet changes, remove related dynamic rules\n\n if (dynamicRules) {\n removeDynamicRules(sheet, dynamicRules);\n }\n }\n };\n }, [sheet]);\n var classes = useMemo(function () {\n return sheet && dynamicRules ? getSheetClasses(sheet, dynamicRules) : emptyObject;\n }, [sheet, dynamicRules]);\n useDebugValue(classes);\n useDebugValue(theme === noTheme ? 'No theme' : theme);\n useEffect(function () {\n isFirstMount.current = false;\n });\n return classes;\n };\n};\nvar NoRenderer = function NoRenderer(props) {\n return props.children || null;\n};\n/**\n * HOC creator function that wrapps the user component.\n *\n * `withStyles(styles, [options])(Component)`\n */\n\nvar createWithStyles = function createWithStyles(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n _options$index = _options.index,\n index = _options$index === void 0 ? getSheetIndex() : _options$index,\n theming = _options.theming,\n injectTheme = _options.injectTheme,\n sheetOptions = _objectWithoutPropertiesLoose(_options, [\"index\", \"theming\", \"injectTheme\"]);\n var ThemeContext$1 = theming ? theming.context : ThemeContext;\n return function (InnerComponent) {\n if (InnerComponent === void 0) {\n InnerComponent = NoRenderer;\n }\n var displayName = getDisplayName(InnerComponent);\n var mergeClassesProp = memoize(function (sheetClasses, classesProp) {\n return classesProp ? mergeClasses(sheetClasses, classesProp) : sheetClasses;\n });\n var hookOptions = Object.assign(sheetOptions, {\n theming: theming,\n index: index,\n name: displayName\n });\n var useStyles = createUseStyles(styles, hookOptions);\n var WithStyles = forwardRef(function (props, ref) {\n var theme = useContext(ThemeContext$1);\n var newProps = _extends({}, props);\n if (injectTheme && newProps.theme == null) {\n newProps.theme = theme;\n }\n var sheetClasses = useStyles(newProps);\n var classes = mergeClassesProp(sheetClasses, props.classes);\n return createElement(InnerComponent, _extends({}, newProps, {\n classes: classes,\n ref: ref\n }));\n });\n WithStyles.displayName = \"WithStyles(\" + displayName + \")\";\n WithStyles.defaultProps = _extends({}, InnerComponent.defaultProps);\n WithStyles.InnerComponent = InnerComponent;\n return hoistNonReactStatics(WithStyles, InnerComponent);\n };\n};\nvar initialContext = {};\nfunction JssProvider(props) {\n var managersRef = useRef({});\n var prevContextRef = useRef();\n var registryRef = useRef(null);\n var createContext = function createContext(parentContext, prevContext) {\n if (prevContext === void 0) {\n prevContext = initialContext;\n }\n var registry = props.registry,\n classNamePrefix = props.classNamePrefix,\n jss = props.jss,\n generateId = props.generateId,\n disableStylesGeneration = props.disableStylesGeneration,\n media = props.media,\n id = props.id,\n isSSR = props.isSSR;\n var context = _extends({}, parentContext);\n if (registry) {\n context.registry = registry; // This way we identify a new request on the server, because user will create\n // a new Registry instance for each.\n\n if (registry !== registryRef.current) {\n // We reset managers because we have to regenerate all sheets for the new request.\n managersRef.current = {};\n registryRef.current = registry;\n }\n }\n context.managers = managersRef.current;\n if (id !== undefined) {\n context.id = id;\n }\n if (generateId !== undefined) {\n context.generateId = generateId;\n } else if (!context.generateId || !prevContext || context.id !== prevContext.id) {\n context.generateId = createGenerateId(context.id);\n }\n if (classNamePrefix) {\n context.classNamePrefix = (context.classNamePrefix || '') + classNamePrefix;\n }\n if (media !== undefined) {\n context.media = media;\n }\n if (jss) {\n context.jss = jss;\n }\n if (disableStylesGeneration !== undefined) {\n context.disableStylesGeneration = disableStylesGeneration;\n }\n if (isSSR !== undefined) {\n context.isSSR = isSSR;\n }\n if (prevContext && shallowEqualObjects(prevContext, context)) {\n return prevContext;\n }\n return context;\n };\n var renderProvider = function renderProvider(parentContext) {\n var children = props.children;\n var context = createContext(parentContext, prevContextRef.current);\n prevContextRef.current = context;\n return createElement(JssContext.Provider, {\n value: context\n }, children);\n };\n return createElement(JssContext.Consumer, null, renderProvider);\n}\nvar parseStyles = function parseStyles(args) {\n var dynamicStyles = [];\n var staticStyle;\n var labels = []; // Not using ...rest to optimize perf.\n\n for (var key in args) {\n var style = args[key];\n if (!style) continue;\n if (typeof style === 'function') {\n dynamicStyles.push(style);\n } else {\n if (!staticStyle) staticStyle = {};\n Object.assign(staticStyle, style);\n var _staticStyle = staticStyle,\n _label = _staticStyle.label;\n if (_label) {\n if (labels.indexOf(_label) === -1) labels.push(_label);\n }\n }\n }\n var styles = {};\n var label = labels.length === 0 ? 'sc' : labels.join('-');\n if (staticStyle) {\n // Label should not leak to the core.\n if ('label' in staticStyle) delete staticStyle.label;\n styles[label] = staticStyle;\n } // When there is only one function rule, we don't need to wrap it.\n\n if (dynamicStyles.length === 1) {\n styles.scd = dynamicStyles[0];\n } // We create a new function rule which will call all other function rules\n // and merge the styles they return.\n\n if (dynamicStyles.length > 1) {\n styles.scd = function (props) {\n var merged = {};\n for (var i = 0; i < dynamicStyles.length; i++) {\n var dynamicStyle = dynamicStyles[i](props);\n if (dynamicStyle) Object.assign(merged, dynamicStyle);\n }\n return merged;\n };\n }\n return {\n styles: styles,\n label: label\n };\n};\nvar shouldForwardPropSymbol = Symbol('react-jss-styled');\nvar getShouldForwardProp = function getShouldForwardProp(tagOrComponent, options) {\n var shouldForwardProp = options.shouldForwardProp;\n var childShouldForwardProp = tagOrComponent[shouldForwardPropSymbol];\n var finalShouldForwardProp = shouldForwardProp || childShouldForwardProp;\n if (shouldForwardProp && childShouldForwardProp) {\n finalShouldForwardProp = function finalShouldForwardProp(prop) {\n return childShouldForwardProp(prop) && shouldForwardProp(prop);\n };\n }\n return finalShouldForwardProp;\n};\nvar getChildProps = function getChildProps(props, shouldForwardProp, isTag) {\n var childProps = {};\n for (var prop in props) {\n if (shouldForwardProp) {\n if (shouldForwardProp(prop) === true) {\n childProps[prop] = props[prop];\n }\n continue;\n } // We don't want to pass non-dom props to the DOM.\n\n if (isTag) {\n if (isPropValid(prop)) {\n childProps[prop] = props[prop];\n }\n continue;\n }\n childProps[prop] = props[prop];\n }\n return childProps;\n}; // eslint-disable-next-line no-unused-vars\n\nvar configureStyled = function configureStyled(tagOrComponent, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n theming = _options.theming;\n var isTag = typeof tagOrComponent === 'string';\n var ThemeContext$1 = theming ? theming.context : ThemeContext;\n var shouldForwardProp = getShouldForwardProp(tagOrComponent, options);\n var _options2 = options,\n _ = _options2.shouldForwardProp,\n hookOptions = _objectWithoutPropertiesLoose(_options2, [\"shouldForwardProp\"]);\n return function createStyledComponent() {\n // eslint-disable-next-line prefer-rest-params\n var _parseStyles = parseStyles(arguments),\n styles = _parseStyles.styles,\n label = _parseStyles.label;\n var useStyles = createUseStyles(styles, hookOptions);\n var Styled = function Styled(props) {\n var as = props.as,\n className = props.className;\n var theme = useContext(ThemeContext$1);\n var propsWithTheme = Object.assign({\n theme: theme\n }, props);\n var classes = useStyles(propsWithTheme);\n var childProps = getChildProps(props, shouldForwardProp, isTag);\n var classNames = ((classes[label] || classes.sc || '') + \" \" + (classes.scd || '')).trim();\n childProps.className = className ? className + \" \" + classNames : classNames;\n if (!isTag && shouldForwardProp) {\n tagOrComponent[shouldForwardPropSymbol] = shouldForwardProp;\n }\n if (isTag && as) {\n return createElement(as, childProps);\n }\n return createElement(tagOrComponent, childProps);\n };\n return Styled;\n };\n};\n\n/* eslint-disable prefer-rest-params, prefer-spread */\nvar create = function create(css) {\n if (css === void 0) {\n css = defaultCss;\n }\n return function createElement$1(type, props) {\n var args = arguments;\n if (props && props.css) {\n var className = css(props.css);\n var newProps = Object.assign({}, props);\n newProps.className = props.className ? props.className + \" \" + className : className;\n delete newProps.css;\n args[1] = newProps;\n }\n return createElement.apply(undefined, args);\n };\n};\nvar jsx = create();\nexport default createWithStyles;\nexport { JssContext, JssProvider, create as createJsx, createUseStyles, defaultJss as jss, jsx, configureStyled as styled, createWithStyles as withStyles };","/**\n * @license React\n * react-server-dom-webpack.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';\n\nvar k = require(\"react\"),\n l = {\n stream: !0\n },\n n = new Map(),\n p = Symbol.for(\"react.element\"),\n q = Symbol.for(\"react.lazy\"),\n r = Symbol.for(\"react.default_value\"),\n t = k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;\nfunction u(a) {\n t[a] || (t[a] = k.createServerContext(a, r));\n return t[a];\n}\nfunction v(a, b, c) {\n this._status = a;\n this._value = b;\n this._response = c;\n}\nv.prototype.then = function (a) {\n 0 === this._status ? (null === this._value && (this._value = []), this._value.push(a)) : a();\n};\nfunction w(a) {\n switch (a._status) {\n case 3:\n return a._value;\n case 1:\n var b = JSON.parse(a._value, a._response._fromJSON);\n a._status = 3;\n return a._value = b;\n case 2:\n b = a._value;\n for (var c = b.chunks, d = 0; d < c.length; d++) {\n var e = n.get(c[d]);\n if (null !== e) throw e;\n }\n c = __webpack_require__(b.id);\n b = \"*\" === b.name ? c : \"\" === b.name ? c.__esModule ? c.default : c : c[b.name];\n a._status = 3;\n return a._value = b;\n case 0:\n throw a;\n default:\n throw a._value;\n }\n}\nfunction x() {\n var a = y(this, 0);\n return w(a);\n}\nfunction z(a, b) {\n return new v(3, b, a);\n}\nfunction A(a) {\n if (null !== a) for (var b = 0; b < a.length; b++) (0, a[b])();\n}\nfunction C(a, b) {\n if (0 === a._status) {\n var c = a._value;\n a._status = 4;\n a._value = b;\n A(c);\n }\n}\nfunction D(a, b) {\n a._chunks.forEach(function (a) {\n C(a, b);\n });\n}\nfunction y(a, b) {\n var c = a._chunks,\n d = c.get(b);\n d || (d = new v(0, null, a), c.set(b, d));\n return d;\n}\nfunction E(a, b, c) {\n switch (c[0]) {\n case \"$\":\n if (\"$\" === c) return p;\n if (\"$\" === c[1] || \"@\" === c[1]) return c.substring(1);\n b = parseInt(c.substring(1), 16);\n a = y(a, b);\n return w(a);\n case \"@\":\n return b = parseInt(c.substring(1), 16), a = y(a, b), {\n $$typeof: q,\n _payload: a,\n _init: w\n };\n }\n return c;\n}\nfunction F(a) {\n D(a, Error(\"Connection closed.\"));\n}\nfunction G(a, b) {\n if (\"\" !== b) {\n var c = b[0],\n d = b.indexOf(\":\", 1),\n e = parseInt(b.substring(1, d), 16);\n d = b.substring(d + 1);\n switch (c) {\n case \"J\":\n b = a._chunks;\n (c = b.get(e)) ? 0 === c._status && (a = c._value, c._status = 1, c._value = d, A(a)) : b.set(e, new v(1, d, a));\n break;\n case \"M\":\n b = a._chunks;\n c = b.get(e);\n d = JSON.parse(d, a._fromJSON);\n var f = a._bundlerConfig;\n d = f ? f[d.id][d.name] : d;\n f = d.chunks;\n for (var h = 0; h < f.length; h++) {\n var g = f[h];\n if (void 0 === n.get(g)) {\n var B = __webpack_chunk_load__(g),\n m = n.set.bind(n, g, null),\n J = n.set.bind(n, g);\n B.then(m, J);\n n.set(g, B);\n }\n }\n c ? 0 === c._status && (a = c._value, c._status = 2, c._value = d, A(a)) : b.set(e, new v(2, d, a));\n break;\n case \"P\":\n a._chunks.set(e, z(a, u(d).Provider));\n break;\n case \"S\":\n c = JSON.parse(d);\n a._chunks.set(e, z(a, Symbol.for(c)));\n break;\n case \"E\":\n b = JSON.parse(d);\n c = Error(b.message);\n c.stack = b.stack;\n b = a._chunks;\n (d = b.get(e)) ? C(d, c) : b.set(e, new v(4, c, a));\n break;\n default:\n throw Error(\"Error parsing the data. It's probably an error code or network corruption.\");\n }\n }\n}\nfunction H(a) {\n return function (b, c) {\n return \"string\" === typeof c ? E(a, this, c) : \"object\" === typeof c && null !== c ? (b = c[0] === p ? {\n $$typeof: p,\n type: c[1],\n key: c[2],\n ref: null,\n props: c[3],\n _owner: null\n } : c, b) : c;\n };\n}\nfunction I(a) {\n var b = new TextDecoder(),\n c = new Map();\n a = {\n _bundlerConfig: a,\n _chunks: c,\n readRoot: x,\n _partialRow: \"\",\n _stringDecoder: b\n };\n a._fromJSON = H(a);\n return a;\n}\nfunction K(a, b) {\n function c(b) {\n var h = b.value;\n if (b.done) F(a);else {\n b = h;\n h = a._stringDecoder;\n for (var g = b.indexOf(10); -1 < g;) {\n var f = a._partialRow;\n var m = b.subarray(0, g);\n m = h.decode(m);\n G(a, f + m);\n a._partialRow = \"\";\n b = b.subarray(g + 1);\n g = b.indexOf(10);\n }\n a._partialRow += h.decode(b, l);\n return e.read().then(c, d);\n }\n }\n function d(b) {\n D(a, b);\n }\n var e = b.getReader();\n e.read().then(c, d);\n}\nexports.createFromFetch = function (a, b) {\n var c = I(b && b.moduleMap ? b.moduleMap : null);\n a.then(function (a) {\n K(c, a.body);\n }, function (a) {\n D(c, a);\n });\n return c;\n};\nexports.createFromReadableStream = function (a, b) {\n b = I(b && b.moduleMap ? b.moduleMap : null);\n K(b, a);\n return b;\n};\nexports.createFromXHR = function (a, b) {\n function c() {\n for (var b = a.responseText, c = f, d = b.indexOf(\"\\n\", c); -1 < d;) c = e._partialRow + b.substring(c, d), G(e, c), e._partialRow = \"\", c = d + 1, d = b.indexOf(\"\\n\", c);\n e._partialRow += b.substring(c);\n f = b.length;\n }\n function d() {\n D(e, new TypeError(\"Network error\"));\n }\n var e = I(b && b.moduleMap ? b.moduleMap : null),\n f = 0;\n a.addEventListener(\"progress\", c);\n a.addEventListener(\"load\", function () {\n c();\n F(e);\n });\n a.addEventListener(\"error\", d);\n a.addEventListener(\"abort\", d);\n a.addEventListener(\"timeout\", d);\n return e;\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-server-dom-webpack.production.min.js');\n} else {\n module.exports = require('./cjs/react-server-dom-webpack.development.js');\n}","/* global window */\nimport ponyfill from './ponyfill.js';\nvar root;\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\nvar result = ponyfill(root);\nexport default result;","export default function symbolObservablePonyfill(root) {\n var result;\n var Symbol = root.Symbol;\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n result = Symbol.observable;\n } else {\n result = Symbol('observable');\n Symbol.observable = result;\n }\n } else {\n result = '@@observable';\n }\n return result;\n}\n;","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n var text = \"Warning: \" + message;\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\nexport default warning;","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: global.globalThis !== global }, {\n globalThis: global\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","exports.components = {\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-us-ad-tsx\": () => import(\"./../../../src/pages/us/ad.tsx\" /* webpackChunkName: \"component---src-pages-us-ad-tsx\" */),\n \"component---src-pages-us-brand-promotion-tsx\": () => import(\"./../../../src/pages/us/brand-promotion.tsx\" /* webpackChunkName: \"component---src-pages-us-brand-promotion-tsx\" */),\n \"component---src-pages-us-branding-tsx\": () => import(\"./../../../src/pages/us/branding.tsx\" /* webpackChunkName: \"component---src-pages-us-branding-tsx\" */),\n \"component---src-pages-us-contacts-tsx\": () => import(\"./../../../src/pages/us/contacts.tsx\" /* webpackChunkName: \"component---src-pages-us-contacts-tsx\" */),\n \"component---src-pages-us-cookies-policy-tsx\": () => import(\"./../../../src/pages/us/cookies-policy.tsx\" /* webpackChunkName: \"component---src-pages-us-cookies-policy-tsx\" */),\n \"component---src-pages-us-dance-tsx\": () => import(\"./../../../src/pages/us/dance.tsx\" /* webpackChunkName: \"component---src-pages-us-dance-tsx\" */),\n \"component---src-pages-us-education-tsx\": () => import(\"./../../../src/pages/us/education.tsx\" /* webpackChunkName: \"component---src-pages-us-education-tsx\" */),\n \"component---src-pages-us-enterprise-tsx\": () => import(\"./../../../src/pages/us/enterprise.tsx\" /* webpackChunkName: \"component---src-pages-us-enterprise-tsx\" */),\n \"component---src-pages-us-fundraising-tsx\": () => import(\"./../../../src/pages/us/fundraising.tsx\" /* webpackChunkName: \"component---src-pages-us-fundraising-tsx\" */),\n \"component---src-pages-us-gdpr-tsx\": () => import(\"./../../../src/pages/us/gdpr.tsx\" /* webpackChunkName: \"component---src-pages-us-gdpr-tsx\" */),\n \"component---src-pages-us-index-tsx\": () => import(\"./../../../src/pages/us/index.tsx\" /* webpackChunkName: \"component---src-pages-us-index-tsx\" */),\n \"component---src-pages-us-investors-tsx\": () => import(\"./../../../src/pages/us/investors.tsx\" /* webpackChunkName: \"component---src-pages-us-investors-tsx\" */),\n \"component---src-pages-us-lead-generation-tsx\": () => import(\"./../../../src/pages/us/lead-generation.tsx\" /* webpackChunkName: \"component---src-pages-us-lead-generation-tsx\" */),\n \"component---src-pages-us-marketplace-tsx\": () => import(\"./../../../src/pages/us/marketplace.tsx\" /* webpackChunkName: \"component---src-pages-us-marketplace-tsx\" */),\n \"component---src-pages-us-pricing-tsx\": () => import(\"./../../../src/pages/us/pricing.tsx\" /* webpackChunkName: \"component---src-pages-us-pricing-tsx\" */),\n \"component---src-pages-us-privacypolicy-tsx\": () => import(\"./../../../src/pages/us/privacypolicy.tsx\" /* webpackChunkName: \"component---src-pages-us-privacypolicy-tsx\" */),\n \"component---src-pages-us-private-event-tsx\": () => import(\"./../../../src/pages/us/private-event.tsx\" /* webpackChunkName: \"component---src-pages-us-private-event-tsx\" */),\n \"component---src-pages-us-ready-content-tsx\": () => import(\"./../../../src/pages/us/ready-content.tsx\" /* webpackChunkName: \"component---src-pages-us-ready-content-tsx\" */),\n \"component---src-pages-us-sport-tsx\": () => import(\"./../../../src/pages/us/sport.tsx\" /* webpackChunkName: \"component---src-pages-us-sport-tsx\" */),\n \"component---src-pages-us-team-building-tsx\": () => import(\"./../../../src/pages/us/team-building.tsx\" /* webpackChunkName: \"component---src-pages-us-team-building-tsx\" */),\n \"component---src-pages-us-terms-and-conditions-tsx\": () => import(\"./../../../src/pages/us/terms-and-conditions.tsx\" /* webpackChunkName: \"component---src-pages-us-terms-and-conditions-tsx\" */),\n \"component---src-pages-us-training-tsx\": () => import(\"./../../../src/pages/us/training.tsx\" /* webpackChunkName: \"component---src-pages-us-training-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-layout/gatsby-browser.js'),\n options: {\"plugins\":[],\"component\":\"/build/src/layouts/main-layout.tsx\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-jss/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/favicons/favicon.png\",\"icons\":[{\"src\":\"/images/favicons/favicon-16x16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"},{\"src\":\"/images/favicons/favicon-32x32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"3e1f6bffbfa618154d9b009ad1d7fdc6\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-tagmanager/gatsby-browser.js'),\n options: {\"plugins\":[],\"id\":\"GTM-TSZPS6GJ\",\"includeInDevelopment\":false,\"enableWebVitalsTracking\":true,\"defaultDataLayer\":{\"type\":\"object\",\"value\":{\"platform\":\"gatsby\"}},\"routeChangeEventName\":\"gatsby-route-change\",\"selfHostedOrigin\":\"https://www.googletagmanager.com\"},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","let cachedVariablesJson\n\ntry {\n cachedVariablesJson = require(\"./cachedVariables.json\")\n} catch {\n console.log(\"Could not find cachedVariables.json\")\n}\n\nconst cachedVariables = cachedVariablesJson || {}\n\nmodule.exports = cachedVariables\n","const listOfMetricsSend = new Set();\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(fn, timeout, ...args);\n };\n}\nfunction sendWebVitals(dataLayerName = `dataLayer`) {\n const win = window;\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n listOfMetricsSend.add(data.name);\n sendToGTM(data, win[dataLayerName]);\n }\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000);\n // we don't need to debounce FID - we send it when it happens\n const debouncedFID = sendData;\n // LCP can occur multiple times so we debounce it\n const debouncedLCP = debounce(sendData, 3000);\n\n // With the true flag, we measure all previous occurences too, in case we start listening to late.\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\nfunction sendToGTM({\n name,\n value,\n id\n}, dataLayer) {\n dataLayer.push({\n event: `core-web-vitals`,\n webVitalsMeasurement: {\n name: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n value: Math.round(name === `CLS` ? value * 1000 : value)\n }\n });\n}\nexport function onRouteUpdate(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` || pluginOptions.includeInDevelopment) {\n // wrap inside a timeout to ensure the title has properly been changed\n setTimeout(() => {\n const data = pluginOptions.dataLayerName ? window[pluginOptions.dataLayerName] : window.dataLayer;\n const eventName = pluginOptions.routeChangeEventName ? pluginOptions.routeChangeEventName : `gatsby-route-change`;\n data.push({\n event: eventName\n });\n }, 50);\n }\n}\nexport function onInitialClientRender(_, pluginOptions) {\n // we only load the polyfill in production so we can't enable it in development\n if (process.env.NODE_ENV === `production` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals(pluginOptions.dataLayerName);\n }\n}","\"use strict\";\n\nvar React = require(\"react\");\nvar ThemeProvider = require(\"react-jss\").ThemeProvider;\n\n// remove the JSS style tag generated on the server to avoid conflicts with the one added on the client\nexports.onInitialClientRender = function () {\n var ssStyles = window.document.getElementById(\"server-side-jss\");\n if (ssStyles) {\n ssStyles.parentNode.removeChild(ssStyles);\n }\n};\n// eslint-disable-next-line react/prop-types\nexports.wrapRootElement = function (_ref, options) {\n var element = _ref.element;\n var theme = options.theme || {};\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: theme\n }, element);\n};","\"use strict\";\n\nexports.wrapPageElement = require(\"./wrap-page\");","\"use strict\";\n\nvar React = require(\"react\");\nvar preferDefault = function preferDefault(m) {\n return m && m.default || m;\n};\nvar Layout;\ntry {\n Layout = preferDefault(require(GATSBY_LAYOUT_COMPONENT_PATH));\n} catch (e) {\n if (e.toString().indexOf(\"Error: Cannot find module\") !== -1) {\n throw new Error(\"Couldn't find layout component at \\\"\" + GATSBY_LAYOUT_COMPONENT_PATH + \".\\n\\n\" + \"Please create layout component in that location or specify path to layout component in gatsby-config.js\");\n } else {\n // Logging the error for debugging older browsers as there is no way\n // to wrap the thrown error in a try/catch.\n console.error(e);\n throw e;\n }\n}\n\n// eslint-disable-next-line react/prop-types,react/display-name\nmodule.exports = function (_ref) {\n var element = _ref.element,\n props = _ref.props;\n return /*#__PURE__*/React.createElement(Layout, props, element);\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","import React, { createContext, useContext, ReactNode } from 'react';\n\nexport type AuthModel = {\n isAuthorizedUser: boolean;\n isDataFetching: boolean;\n nickName?: string;\n firstName?: string;\n lastName?: string;\n profileIconSrc?: string;\n};\n\nconst AuthContext = createContext(undefined);\n\ntype AuthProviderProps = {\n children: ReactNode;\n value: AuthModel;\n};\n\nconst AuthProvider = ({ children, value }: AuthProviderProps) => {\n return (\n \n {children}\n \n );\n};\n\nconst useAuth = () => {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error('useAuth must be used within an AuthProvider');\n }\n return context;\n};\n\nexport { AuthProvider, useAuth };\n","export const browserRedirectToPage = (url: string) => {\n if (typeof window !== \"undefined\") {\n window.location.href = url;\n }\n}","import { useState, useEffect } from \"react\";\n\nexport default function useWindowSize() {\n const [windowSize, setWindowSize] = useState({\n width: undefined,\n height: undefined,\n });\n useEffect(() => {\n function handleResize() {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n typeof window !== \"undefined\"\n ? window.addEventListener(\"resize\", handleResize)\n : null;\n handleResize();\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n return windowSize;\n}\n","import { createUseStyles } from \"react-jss\";\n\nexport const useStyles = createUseStyles({\n \"@global\": {\n body: {\n margin: 0,\n }\n },\n container: {\n fontFamily: 'Montserrat',\n height: '64px',\n display: 'flex',\n alignItems: 'center',\n padding: '16px 40px',\n width: '100%',\n boxSizing: 'border-box',\n backgroundColor: '#3A28A7',\n \"@media (max-width: 1200px)\": {\n paddingLeft: 32,\n paddingRight: 32\n },\n \"@media (max-width: 600px)\": {\n paddingLeft: 24,\n paddingRight: 24\n },\n '& a': {\n cursor: 'pointer'\n }\n },\n mainLogo: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n authorization: {\n display: 'flex',\n gap: '16px',\n \"@media (max-width: 650px)\": {\n display: 'none !important',\n }\n },\n primaryButton: {\n color: 'white',\n borderRadius: '54px',\n fontSize: '14px',\n lineHeight: '20px',\n fontWeight: 600,\n padding: '10px 40px',\n border: '1px solid #65C15D',\n background: '#65C15D',\n '&:hover': {\n background: '#97DE6B',\n },\n\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit'\n },\n secondaryButton: {\n color: 'white',\n borderRadius: '54px',\n fontSize: '14px',\n lineHeight: '20px',\n fontWeight: 600,\n padding: '10px 40px',\n border: '1px solid #FFFFFF',\n background: 'none',\n\n '&:hover': {\n background: '#7770FF',\n borderColor: '#7770FF'\n },\n\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit'\n },\n infoContainer: {\n marginLeft: 'auto',\n display: 'flex',\n gap: '32px',\n },\n logoutContainer: {\n display: 'none !important',\n '@media (max-width: 1440px)': {\n display: 'block !important',\n },\n '@media (max-width: 400px)': {\n display: 'none !important',\n },\n }\n})\n","import { createUseStyles } from 'react-jss';\n\nexport const useStyles = createUseStyles({\n links: {\n display: 'flex',\n alignItems: 'center',\n gap: '40px',\n marginLeft: 'auto',\n \"@media (max-width: 1440px)\": {\n display: 'none',\n }\n },\n linkContainer: {\n position: 'relative',\n },\n link: {\n fontWeight: 700,\n fontSize: '14px',\n color: '#C0B6FA',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n cursor: 'pointer',\n textDecoration: 'none',\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(67%) sepia(86%) saturate(463%) hue-rotate(197deg) brightness(99%) contrast(114%)',\n },\n\n '&:hover': {\n color: '#FFFFFF',\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7470%) hue-rotate(49deg) brightness(97%) contrast(111%)',\n },\n },\n },\n submenu: {\n background: '#3A28A7',\n position: 'absolute',\n borderRadius: '8px',\n top: '52px',\n left: '-7px',\n zIndex: 3,\n padding: '16px',\n width: 'max-content',\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n top: '-32px',\n left: '0',\n height: '34px',\n width: '180px',\n }\n },\n submenuLink: {\n fontWeight: 700,\n fontSize: '14px',\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n cursor: 'pointer',\n padding: '12px 24px',\n borderRadius: '8px',\n textDecoration: 'none',\n '&:hover': {\n background: '#2B1C88',\n }\n },\n activeLink: {\n color: '#FFFFFF !important',\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7470%) hue-rotate(49deg) brightness(97%) contrast(111%)',\n },\n },\n activeSublink: {\n background: '#6B53FD',\n }\n});\n","import React, { useState, useEffect } from 'react';\nimport { LinkModel } from '../types';\nimport { useStyles } from './styles';\nimport { navigate } from 'gatsby';\nimport classNames from 'classnames';\nimport arrowUp from '../../../images/page-header/icons/arrow_up_icon.svg';\nimport arrowDown from '../../../images/page-header/icons/arrow_down_icon.svg';\n\ntype Props = {\n links: LinkModel[];\n isAuthorizedUser: boolean;\n};\n\nexport const HeaderLinks = ({ links, isAuthorizedUser }: Props) => {\n const pathName = typeof window !== \"undefined\" && window.location.pathname;\n\n const [currentLinks, setCurrentLinks] = useState(links);\n const classes = useStyles();\n\n useEffect(() => {\n const actualLinks = isAuthorizedUser\n ? links.filter((x) => x.isCommon || x.isAuthorized)\n : links.filter((x) => x.isCommon || !x.isAuthorized);\n\n setCurrentLinks(actualLinks);\n }, [links, isAuthorizedUser]);\n\n const handleOpenMenu = (name: string) => {\n const tempLinks = currentLinks?.map((x) => {\n if (x.name === name) {\n return { ...x, isMenuOpen: true };\n }\n return { ...x };\n });\n setCurrentLinks(tempLinks);\n };\n\n const handleCloseMenu = () => {\n const tempLinks = currentLinks?.map((x) => {\n if (x.isMenuOpen) {\n return { ...x, isMenuOpen: false };\n }\n return { ...x };\n });\n setCurrentLinks(tempLinks);\n };\n\n const isActiveSubLink = (link: LinkModel) => {\n const isIncludesActiveSubLink = link.subLinks && link.subLinks.find((x) => pathName && (pathName as string).includes(x.href as string));\n return isIncludesActiveSubLink;\n };\n\n return (\n
\n {currentLinks &&\n currentLinks.map((link) => (\n
\n handleOpenMenu(link.name)}\n href={link.href || 'javascript:;'}\n onClick={(e) => {\n if (link.href) {\n e.preventDefault();\n navigate(link.href);\n }\n }}\n >\n {link.imageSrc && {link.href}}\n {link.name}\n {link.subLinks && !link.isMenuOpen && arrowDown}\n {link.subLinks && link.isMenuOpen && arrowUp}\n \n {link.subLinks && (\n handleOpenMenu(link.name)}\n className={classes.submenu}\n style={{ display: link.isMenuOpen ? 'block' : 'none' }}\n >\n {link.subLinks.map((x) => (\n {\n e.preventDefault();\n navigate(x.href as string);\n }}\n >\n {x.imageSrc && {x.href}}\n {x.name}\n \n ))}\n
\n )}\n
\n ))}\n
\n );\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgOCA1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNjE1MzkgMC4yNzYzNjdDMC43MjQ0ODEgMC4yNzYzNjcgMC4yNzgzMTQgMS4zNTM1MSAwLjkwODI3OSAxLjk4MzQ3TDMuNDk0MDcgNC41NjkyNkMzLjg4NDU5IDQuOTU5NzkgNC41MTc3NSA0Ljk1OTc4IDQuOTA4MjggNC41NjkyNkw3LjQ5NDA3IDEuOTgzNDdDOC4xMjQwMyAxLjM1MzUxIDcuNjc3ODYgMC4yNzYzNjcgNi43ODY5NiAwLjI3NjM2N0gxLjYxNTM5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgOCA2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNjE1MzkgNS4wNzYxN0MwLjcyNDQ4MSA1LjA3NjE3IDAuMjc4MzE0IDMuOTk5MDMgMC45MDgyNzkgMy4zNjkwN0wzLjQ5NDA3IDAuNzgzMjc4QzMuODg0NTkgMC4zOTI3NTQgNC41MTc3NSAwLjM5Mjc1NSA0LjkwODI4IDAuNzgzMjc4TDcuNDk0MDcgMy4zNjkwN0M4LjEyNDAzIDMuOTk5MDMgNy42Nzc4NiA1LjA3NjE3IDYuNzg2OTYgNS4wNzYxN0gxLjYxNTM5WiIgZmlsbD0iIzk3REU2QiIvPgo8L3N2Zz4K\"","import { createUseStyles } from 'react-jss';\n\nexport const useStyles = createUseStyles({\n container: {\n marginLeft: 'auto',\n display: 'none',\n '@media (max-width: 1440px)': {\n display: 'block',\n marginLeft: '24px',\n },\n },\n burgerButton: {\n width: '26px',\n height: '20px',\n position: 'relative',\n marginLeft: 'auto',\n cursor: 'pointer',\n zIndex: 100000,\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n width: '26px',\n background: 'white',\n height: '3px',\n top: 0,\n borderRadius: '2px',\n transition: 'transform 400ms cubic-bezier(0.23, 1, 0.32, 1)',\n },\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n width: '26px',\n background: 'white',\n height: '3px',\n bottom: '0',\n borderRadius: '2px',\n transition: 'transform 400ms cubic-bezier(0.23, 1, 0.32, 1)',\n },\n '& span': {\n position: 'absolute',\n top: '8.35px',\n width: '26px',\n background: 'white',\n height: '3px',\n borderRadius: '2px',\n },\n },\n burgerRotateButton: {\n '&:after': {\n transform: 'rotate(-405deg)',\n top: '9px',\n },\n '&:before': {\n transform: 'rotate(405deg)',\n bottom: '8px',\n },\n },\n menu: {\n position: 'fixed',\n width: '100%',\n height: '100%',\n top: 0,\n right: 0,\n zIndex: 13050,\n overflow: 'hidden',\n transform: 'translateX(100%)',\n },\n menuActive: {\n transform: 'translateX(0)',\n },\n content: {\n width: '360px',\n height: '100%',\n background: '#3a28a7',\n color: 'white',\n display: 'flex',\n flexDirection: 'column',\n position: 'absolute',\n right: '0',\n '& a': {\n color: 'white',\n },\n '&:after': {\n content: \"''\",\n width: 'calc(100% - 360px)',\n height: '100%',\n background: 'rgba(0,0,0,.4)',\n display: 'block',\n position: 'fixed',\n left: '0',\n right: '0',\n top: '0',\n bottom: '0',\n },\n '@media (max-width: 767px)': {\n width: '100%',\n '&:after': {\n content: 'none',\n background: 'transparent',\n },\n },\n },\n linksContainer: {\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n marginTop: '64px',\n paddingBottom: '2px',\n '& a': {\n padding: '22px 24px',\n fontSize: '16px',\n fontWeight: '600',\n display: 'flex',\n alignItems: 'center',\n gap: '24px',\n borderRadius: '8px',\n margin: '0 16px',\n\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(251deg) brightness(102%) contrast(103%)',\n }\n },\n '@media (max-width: 360px)': {\n '& a': {\n padding: '14px 24px',\n },\n },\n },\n authorizationContainer: {\n display: 'flex',\n padding: '16px',\n gap: '20px',\n marginTop: 'auto',\n },\n primaryButton: {\n color: 'white',\n borderRadius: '54px',\n fontSize: '15px',\n lineHeight: '28px',\n fontWeight: 600,\n width: '100%',\n height: '56px',\n border: '1px solid #65C15D',\n background: '#65C15D',\n whiteSpace: 'nowrap',\n\n '&:hover': {\n background: '#97DE6B',\n },\n\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n },\n secondaryButton: {\n color: 'white',\n borderRadius: '54px',\n fontSize: '15px',\n lineHeight: '28px',\n fontWeight: 600,\n width: '100%',\n height: '56px',\n border: '1px solid #FFFFFF',\n background: 'none',\n whiteSpace: 'nowrap',\n\n '&:hover': {\n background: '#7770FF',\n borderColor: '#7770FF',\n },\n\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n },\n subLink: {\n margin: '0 !important',\n padding: '15px 24px 15px 72px !important',\n '&$activeLink': {\n borderRadius: 0\n },\n '@media (max-width: 360px)': {\n padding: '12px 32px 12px 72px !important',\n },\n },\n activeLink: {\n background: '#6049EB',\n },\n accordionLink: {\n textDecoration: 'none',\n gap: '0 !important',\n '& > img': {\n marginRight: '24px',\n },\n '& > button': {\n marginLeft: '7px',\n },\n },\n openedAccordion: {\n outline: '2px solid #6049EB',\n borderRadius: '8px',\n backgroundColor: '#3A28A7',\n position: 'relative',\n '& + *[style=\"display: block;\"]': {\n outline: '2px solid #6049EB',\n paddingTop: 15,\n marginTop: -6,\n marginLeft: 16,\n marginRight: 16,\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n overflow: 'hidden'\n }\n },\n accordionSwitcher: {\n backgroundColor: 'transparent',\n border: 'none',\n display: 'flex',\n },\n languageSwitcher: {\n '& + *[style=\"display: block;\"]': {\n marginBottom: 24,\n padding: '8px 0 0 0',\n overflow: 'visible'\n }\n },\n profileMenuContainer: {\n display: 'flex',\n padding: '16px 32px 16px 32px',\n background: '#2B1C88',\n alignItems: 'center',\n gap: '12px',\n '@media (max-width: 360px)': {\n padding: '10px 32px 10px 32px',\n },\n },\n profileImg: {\n borderRadius: '50%',\n width: '40px',\n height: '40px',\n flexShrink: 0\n },\n profileUserName: {\n fontWeight: 600,\n fontSize: '16px',\n lineHeight: '24px',\n marginLeft: '6px',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n profileMenuLinksContainer: {\n flexDirection: 'column',\n background: '#2B1C88',\n borderBottom: '2px solid #6049EB',\n marginTop: 'auto',\n paddingTop: 16,\n paddingBottom: 16,\n '&[style=\"display: none;\"]': {\n '& + $profileMenuContainer': {\n marginTop: 'auto'\n }\n }\n },\n profileMenuLink: {\n padding: '22px 24px',\n fontSize: '16px',\n fontWeight: '600',\n display: 'flex',\n alignItems: 'center',\n gap: '24px',\n borderRadius: '8px',\n margin: '0 16px',\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(24deg) brightness(104%) contrast(102%)',\n },\n '@media (max-width: 360px)': {\n padding: '14px 24px',\n },\n }\n});\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgOCA2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNjE0NDEgMC41OTk5NzZDMC43MjM1MDQgMC41OTk5NzYgMC4yNzczMzcgMS42NzcxMiAwLjkwNzMwMiAyLjMwNzA4TDMuNDkzMDkgNC44OTI4N0MzLjg4MzYxIDUuMjgzMzkgNC41MTY3OCA1LjI4MzM5IDQuOTA3MyA0Ljg5Mjg3TDcuNDkzMDkgMi4zMDcwOEM4LjEyMzA2IDEuNjc3MTIgNy42NzY4OSAwLjU5OTk3NiA2Ljc4NTk4IDAuNTk5OTc2SDEuNjE0NDFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgOCA1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEuNjE0NDEgNC41OTk5OEMwLjcyMzUwNCA0LjU5OTk4IDAuMjc3MzM3IDMuNTIyODMgMC45MDczMDIgMi44OTI4N0wzLjQ5MzA5IDAuMzA3MDgyQzMuODgzNjEgLTAuMDgzNDQyNyA0LjUxNjc4IC0wLjA4MzQ0MTcgNC45MDczIDAuMzA3MDgyTDcuNDkzMDkgMi44OTI4N0M4LjEyMzA2IDMuNTIyODQgNy42NzY4OSA0LjU5OTk4IDYuNzg1OTggNC41OTk5OEgxLjYxNDQxWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState, useEffect, useRef } from 'react';\nimport { useStyles } from './styles';\nimport classNames from 'classnames';\nimport { LinkModel } from '../types';\nimport { NODE_LOCATION, MANAGE_SITE_URL } from 'gatsby-env-variables-fork';\nimport { Translate } from '../../../locales/locales-utils';\nimport { navigate } from 'gatsby';\nimport up from '../../../images/page-header/arrow-up.svg';\nimport down from '../../../images/page-header/arrow-down.svg';\nimport languageIcon from '../../../images/page-header/links/language.svg';\nimport { browserRedirectToPage } from '../../../helpers/browserRedirectToPage';\n\ntype Props = {\n links: LinkModel[];\n isAuthorizedUser: boolean;\n handleLanguageChanged: (language: string) => void;\n lang: string;\n profileIconSrc: string;\n profileMenuLinks: LinkModel[];\n userName: string;\n};\n\nexport const BurgerMenu = ({\n isAuthorizedUser,\n links,\n handleLanguageChanged,\n lang,\n profileIconSrc,\n profileMenuLinks,\n userName,\n}: Props) => {\n const pathName = typeof window !== \"undefined\" && window.location.pathname;\n\n const [isOpen, setIsOpen] = useState(false);\n const [currentLinks, setCurrentLinks] = useState();\n\n const [isLanguageAccordionOpen, setIsLanguageAccordionOpen] = useState(false);\n\n const linksRef = useRef(null);\n const [hasScroll, setHasScroll] = useState(false);\n\n const [isProfileMenuOpen, setIsProfileMenuOpen] = useState(false);\n\n const classes = useStyles();\n const isRuLocation = NODE_LOCATION === 'ru';\n\n useEffect(() => {\n let authorizationButtons: HTMLDivElement = document.querySelector('div[data-buttons=\"authorization\"]')!;\n\n if (isOpen) {\n document.body.style.overflowY = 'hidden';\n if (authorizationButtons) {\n authorizationButtons.style.display = 'none';\n }\n } else {\n document.body.style.overflowY = 'auto';\n if (authorizationButtons) {\n authorizationButtons.style.display = 'flex';\n }\n }\n }, [isOpen]);\n\n useEffect(() => {\n let actualLinks = isAuthorizedUser\n ? links.filter((x) => x.isCommon || x.isAuthorized)\n : links.filter((x) => x.isCommon || !x.isAuthorized);\n\n actualLinks = actualLinks.map((x) => {\n if (x.subLinks) {\n let openedLink = x.subLinks.find((y) => (pathName as string).includes(y.href as string));\n return { ...x, isMenuOpen: openedLink ? true : false };\n }\n return { ...x, isMenuOpen: false };\n });\n\n setCurrentLinks(actualLinks);\n }, [links, isAuthorizedUser, pathName]);\n\n useEffect(() => {\n const linksDivElement = linksRef.current;\n\n if (linksDivElement) {\n const hasVerticalScrollbar = linksDivElement.scrollHeight > linksDivElement.clientHeight;\n setHasScroll(hasVerticalScrollbar);\n }\n }, [isOpen, currentLinks]);\n\n const handleOpenAccordion = (name: string) => {\n const tempLinks = currentLinks?.map((x) => {\n if (x.name === name) {\n if (x.isMenuOpen) {\n return { ...x, isMenuOpen: false };\n } else {\n return { ...x, isMenuOpen: true };\n }\n }\n return { ...x, isMenuOpen: false };\n });\n setCurrentLinks(tempLinks);\n };\n\n const checkMenuIsOpen = () => currentLinks?.some((x) => x.isMenuOpen);\n\n return (\n
\n setIsOpen(!isOpen)}\n >\n {!isOpen && }\n
\n
\n
\n
\n {currentLinks &&\n currentLinks.map((x) =>\n x.subLinks ? (\n
\n {\n handleOpenAccordion(x.name);\n setIsLanguageAccordionOpen(false);\n setIsProfileMenuOpen(false);\n }}\n className={classNames(classes.accordionLink, { [classes.openedAccordion]: x.isMenuOpen })}\n >\n {x.imageSrc && {x.href}}\n {x.name}\n \n \n
\n {x.subLinks.map((y) => (\n {\n navigate(y.href as string);\n setIsOpen(false);\n }}\n >\n {y.name}\n \n ))}\n
\n
\n ) : (\n {\n x?.target ? window.open(x.href, x.target) : navigate(x.href as string);\n setIsOpen(!!x?.target);\n }}\n >\n {x.imageSrc && {x.href}}\n {x.name}\n \n )\n )}\n {isRuLocation && (\n <>\n {\n setIsLanguageAccordionOpen(!isLanguageAccordionOpen);\n handleOpenAccordion('');\n setIsProfileMenuOpen(false);\n }}\n className={classNames(classes.accordionLink, classes.languageSwitcher, { [classes.openedAccordion]: isLanguageAccordionOpen })}\n >\n {'language'}\n {lang === 'ru' ? 'Русский' : 'English'}\n \n \n
\n {\n handleLanguageChanged(lang === 'ru' ? 'en' : 'ru');\n setIsLanguageAccordionOpen(false);\n }}\n >\n {lang === 'ru' ? 'English' : 'Русский'}\n \n
\n \n )}\n
\n {!isAuthorizedUser ? (\n
\n <>\n browserRedirectToPage(`${MANAGE_SITE_URL}/Account/Register`)}\n >\n {isRuLocation ? Translate('MainMenu.TabletSignUp') : 'Sign up'}\n \n browserRedirectToPage(`${MANAGE_SITE_URL}/Account/Login`)}\n >\n {isRuLocation ? Translate('MainMenu.Login') : 'Log in'}\n \n \n
\n ) : (\n <>\n \n {profileMenuLinks.map((y) => (\n {\n navigate(y.href as string);\n setIsOpen(false);\n }}\n >\n {y.imageSrc && {y.href}}\n {y.name}\n \n ))}\n
\n {\n setIsProfileMenuOpen(!isProfileMenuOpen);\n handleOpenAccordion('');\n setIsLanguageAccordionOpen(false);\n }}\n className={classes.profileMenuContainer}\n >\n profile_img\n
{userName}
\n \n \n \n )}\n
\n
\n \n );\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjg2OTM0IDExLjA5MDlINy4wNzY1N0M3LjEwMzIyIDEwLjY3NzQgNy4xNTA3OCAxMC4yNzEyIDcuMjE3MDIgOS44NzM0MkM3LjU5NTAxIDcuNjAzMjcgOC41NzMwNiA1LjY0NzUzIDkuNjY3NDEgNC4xNTU4NkM2LjU2NjAyIDUuMDc3MiA0LjIzNDQ5IDcuNzg3NzMgMy44NjkzNCAxMS4wOTA5Wk0xMi4wMDEyIDQuMTgxNTRDMTAuNzUwMSA1LjUxOTc5IDkuNDM0MjkgNy42MjY5IDkuMDEwNTEgMTAuMTcyQzguOTYwNjggMTAuNDcxMyA4LjkyMjk3IDEwLjc3NzggOC44OTkyMyAxMS4wOTA5SDE1LjEwMzJDMTUuMDc5NSAxMC43Nzc4IDE1LjA0MTggMTAuNDcxMyAxNC45OTE5IDEwLjE3MkMxNC41NjgyIDcuNjI2OSAxMy4yNTI0IDUuNTE5NzkgMTIuMDAxMiA0LjE4MTU0Wk0xNS4wNzg3IDEyLjkwOTFIOC45MjM3N0M5LjEzODQ2IDE0Ljk5MzQgMTAuMDE5OCAxNy4yOTggMTIuMDAxMiAxOS43MDUxQzEzLjk4MjYgMTcuMjk4IDE0Ljg2NCAxNC45OTM0IDE1LjA3ODcgMTIuOTA5MVpNOS44NTMyMSAxOS44OTY5QzguMTA5NDYgMTcuNDgzNSA3LjI4OTk4IDE1LjExNTkgNy4wOTcyNiAxMi45MDkxSDMuODY5MzRDNC4yNDE3NCAxNi4yNzc5IDYuNjU5NDYgMTkuMDMwMyA5Ljg1MzIxIDE5Ljg5NjlaTTE0LjE0OTIgMTkuODk2OUMxNS44OTMgMTcuNDgzNSAxNi43MTI1IDE1LjExNTkgMTYuOTA1MiAxMi45MDkxSDIwLjEzMzFDMTkuNzYwNyAxNi4yNzc5IDE3LjM0MyAxOS4wMzAzIDE0LjE0OTIgMTkuODk2OVpNMjAuMTMzMSAxMS4wOTA5SDE2LjkyNTlDMTYuODk5MiAxMC42Nzc0IDE2Ljg1MTcgMTAuMjcxMiAxNi43ODU0IDkuODczNDJDMTYuNDA3NCA3LjYwMzI3IDE1LjQyOTQgNS42NDc1MyAxNC4zMzUgNC4xNTU4NkMxNy40MzY0IDUuMDc3MiAxOS43NjggNy43ODc3MyAyMC4xMzMxIDExLjA5MDlaTTIuMDAxMjIgMTJDMi4wMDEyMiA2LjQ3NzE1IDYuNDc4MzcgMiAxMi4wMDEyIDJDMTcuNTI0MSAyIDIyLjAwMTIgNi40NzcxNSAyMi4wMDEyIDEyQzIyLjAwMTIgMTcuNTIyOCAxNy41MjQxIDIyIDEyLjAwMTIgMjJDNi40NzgzNyAyMiAyLjAwMTIyIDE3LjUyMjggMi4wMDEyMiAxMloiIGZpbGw9IiM4MTg2OTkiLz4KPC9zdmc+Cg==\"","import { createUseStyles } from \"react-jss\";\n\nexport const useStyles = createUseStyles({\n profile: {\n display: 'flex',\n alignItems: 'center',\n gap: '32px',\n '& button': {\n fontWeight: 600,\n fontSize: '16px',\n display: 'flex',\n alignItems: 'center',\n color: 'white',\n\n '&:after': {\n content: 'url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'8\\' height=\\'6\\' viewBox=\\'0 0 8 6\\' fill=\\'none\\'%3E%3Cpath fill-rule=\\'evenodd\\' clip-rule=\\'evenodd\\' d=\\'M1.61539 0.599609C0.724481 0.599609 0.278314 1.67675 0.908279 2.30672L3.49407 4.8925C3.88459 5.28303 4.51775 5.28303 4.90828 4.8925L7.49407 2.30671C8.12403 1.67675 7.67786 0.599609 6.78696 0.599609H1.61539Z\\' fill=\\'white\\'/%3E%3C/svg%3E\")',\n marginLeft: '10px',\n marginBottom: '5px'\n },\n\n '& img': {\n borderRadius: '50%',\n width: '40px',\n height: '40px',\n },\n\n border: 'none',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n background: 'none',\n },\n \"@media (max-width: 1440px)\": {\n display: 'none',\n }\n },\n profileMenu: {\n display: 'none',\n position: 'absolute',\n borderRadius: '8px',\n padding: '16px',\n width: '230px',\n color: 'white',\n zIndex: 3,\n top: '72px',\n right: '28px',\n background: '#3A28A7',\n\n '& img': {\n filter: 'brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7470%) hue-rotate(49deg) brightness(97%) contrast(111%)',\n },\n },\n buttonOpenMenu: {\n '& ~ div': {\n display: 'block',\n },\n },\n profileMenuItem: {\n color: '#FFFFFF',\n padding: '14px 24px',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: 600,\n display: 'flex',\n gap: '24px',\n textDecoration: 'none',\n '&:hover': {\n background: '#2B1C88',\n borderRadius: '8px',\n cursor: 'pointer'\n },\n },\n profileSubMenu: {\n padding: '8px',\n background: '#FFFFFF',\n borderBottom: '1px solid #CBCEDA',\n },\n})","import { useEffect, useRef } from \"react\"\n\n// Tracking a click outside the area of an open element (for example, dropdown or tooltip)\n// If the click occurred outside the element area, handleOutsideClick function is called\nexport const useOutsideClick = (handleOutsideClick: () => void) => {\n const ref = useRef(null);\n\n const onClick = (event: MouseEvent) => {\n const element = event.target as Element;\n\n if (element.getAttribute('data-btn')) {\n return;\n }\n\n if (ref.current && !ref.current.contains(element)) {\n handleOutsideClick();\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', onClick, true);\n return () => {\n document.removeEventListener('click', onClick, true);\n };\n }, []);\n\n return ref;\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQVSURBVHgBzZhPTFNZFMa/+9pKBcy0ETCzMWVmMW7GMO6Mk1AyxoHZTGcxixlNbKNxo4lgYuLKVl2ZmAjRjSaGZ6K4FDdS/8VHotGVVt3oQq26MALGRguIwLuec19bCrbw3mst/BK4j3ffDV/Oueece4+AS2Jdo+1SyDbMijCEaIOQAXodyE1nYCJNYxoCKSFg9A81D8MFwsnH0fDLAPyN+2lVd5EYe0iZpt+GR/Mlzl0NvrK7zJZAJWx1Y5weu1ENpNTtCl1SYPSvkf2QIgGnFlsKsij980R/suX8Yp8tKjDaNXoS1bJaOUzZq19r6Sk3XVJgbq9dptkwaoGJFKayHbrRmlk4pZVcUNdwu2biLBVtyiAlpxag3KpR2qg1ZJDonyMnv31dRKxzZKcUQsdyYspu2pN9+T8LAqOdb0OAh1wrQlheMpjMtub3Y5GLPfEVII4JUAzE838oCyrrCe9LuKRpnYZdPWuw/mcv6hsEHtz7goEzWbwfMeGayWyQrZizoCcOl7C4I6eD2LDRp8QxmzavwlF6t7ZFg2u4pGLOxWG45L89DUrYnZtT2PvvexyMfVDP9Y0Cuw+sgWuseg8t1vWhvZK9t2lznRoHL0xgYlxi7N0sLpF7mfU/eVEBAT4xaVLOhFEBLIqZHJ/bb2y94tEt0pRtGpmyoqT8+vmMGtnVvOfY3X//36DecbBUhggLqhwP6cm1yKZ1HgqSQCFA8rBlD+/NUCTPwj0yzRYMoQJ4z8X3ZfDg/peCsKdPpqsgjhEBtqDECqaCRFUbvOTiDKS70zIn6S1/+FWSzlcRht3MwfP6xQyuD05WUlEy5OIxKnEyBIdw1G6LrLb1LefIKwMTcEGKMqlM0UPIyapicXduTOHurc8qWMbeWZZiS7JFt2z14/etdYjsqFc58dLZcTiCrq7kYmnQpShid80vv/qUOHbjqWMf8fTx9DffqEim9/zDLj50/Ae1hvPisyfTsA3dqTUhfSk4YFvEr0Z2WylxC3mT24dMZHs9nDEzrPUPBYdVoNhkw8ZVanRSJW7kBDqrzSKtJ380rBUmeklkwsFqnNCDcEq+bttCwuDByoN+b5/ddQNnxgvB4AQWN3jRfpB4NE+Cx7k7SS0u6XaRQteTTTF+nKskdd4jTvbi90Ok89ZjCgL1wSCJ0xJYZoTEvKbSvFqsX13Le7EXywUFa3+yaV4zqXRvpnO0tq0Pi5Q+1PzbwpelTzN+7z+8ALXDoGtmR6mJFdB+A7Xfmsu23xY9D5LJe4QUUY4sVBshMlYfprw4ZskDq9q0crqDcxOqBVeuiU+txU2icjhroqsGky9uBZDDM6RlsV58zvaValSWXQaXUKSHaWhX11Z18RIh6jsHCmIkJ306awrNgGk+0pPNBlzwFSJfhUd7B2lgAAAAAElFTkSuQmCC\"","import React from 'react';\nimport classNames from 'classnames';\nimport { useStyles } from './styles';\nimport { useOutsideClick } from '../../../hooks/useOutsideClick';\nimport { LinkModel } from '../types';\nimport defaultProfile from '../../../images/page-header/default_profile.png';\n\ntype Props = {\n links: LinkModel[];\n profileIconSrc: string;\n isProfileMenuOpen: boolean;\n setIsProfileMenuOpen: React.Dispatch>;\n handleCloseLanguageMenu: () => void;\n};\n\nexport const ProfileMenu = ({\n links,\n profileIconSrc,\n isProfileMenuOpen,\n handleCloseLanguageMenu,\n setIsProfileMenuOpen,\n}: Props) => {\n const profileMenuRef = useOutsideClick(() => setIsProfileMenuOpen(false));\n\n const classes = useStyles();\n\n return (\n
\n {\n setIsProfileMenuOpen(!isProfileMenuOpen);\n handleCloseLanguageMenu();\n }}\n >\n img {\n currentTarget.onerror = null;\n currentTarget.src = defaultProfile\n }}\n />\n \n
\n {links.map(x => (\n \n {x.name}\n {x.name}\n \n ))}\n
\n
\n );\n};\n","import { createUseStyles } from \"react-jss\";\n\nexport const useStyles = createUseStyles({\n languageMenuContainer: {\n position: 'relative',\n display: 'flex',\n },\n languageSwitchButton: {\n fontWeight: 600,\n fontSize: '16px',\n display: 'flex',\n alignItems: 'center',\n color: 'white',\n\n '&:after': {\n content: 'url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'8\\' height=\\'6\\' viewBox=\\'0 0 8 6\\' fill=\\'none\\'%3E%3Cpath fill-rule=\\'evenodd\\' clip-rule=\\'evenodd\\' d=\\'M1.61539 0.599609C0.724481 0.599609 0.278314 1.67675 0.908279 2.30672L3.49407 4.8925C3.88459 5.28303 4.51775 5.28303 4.90828 4.8925L7.49407 2.30671C8.12403 1.67675 7.67786 0.599609 6.78696 0.599609H1.61539Z\\' fill=\\'white\\'/%3E%3C/svg%3E\")',\n marginLeft: '10px',\n marginBottom: '5px'\n },\n\n '& img': {\n borderRadius: '50%',\n width: '40px',\n height: '40px',\n },\n\n border: 'none',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n background: 'none',\n },\n languageMenu: {\n display: 'none',\n position: 'absolute',\n top: '48px',\n right: '0',\n zIndex: '3',\n filter: 'drop-shadow(0 0 8px rgba(0,0,0,.08)) drop-shadow(0 16px 16px rgba(0,0,0,.08))',\n },\n languageMenuButton: {\n padding: '16px 24px',\n backgroundColor: '#fff',\n width: '160px',\n textAlign: 'left',\n fontSize: '14px',\n lineHeight: '24px',\n fontWeight: '600',\n\n '&:first-of-type': {\n borderRadius: '8px 8px 0 0',\n },\n\n '&:last-of-type': {\n borderRadius: '0 0 8px 8px',\n },\n\n '&:hover': {\n backgroundColor: '#f0edfd',\n },\n\n border: 'none',\n font: 'inherit',\n cursor: 'pointer',\n outline: 'inherit',\n background: 'none',\n },\n buttonOpenMenu: {\n '& ~ div': {\n display: 'block',\n },\n },\n isSelectedLanguage: {\n backgroundColor: '#6049eb',\n color: '#fff',\n '&:hover': {\n backgroundColor: '#6049eb',\n },\n }\n})","import React from 'react';\nimport { useStyles } from './styles';\nimport { useOutsideClick } from '../../../hooks/useOutsideClick';\nimport classNames from 'classnames';\n\ntype Props = {\n lang: string;\n isLanguageMenuOpen: boolean;\n handleLanguageChanged: (language: string) => void;\n setIsLanguageMenuOpen: React.Dispatch>;\n handleCloseProfileMenu: () => void;\n};\n\nexport const LanguageMenu = ({\n handleLanguageChanged,\n handleCloseProfileMenu,\n setIsLanguageMenuOpen,\n lang,\n isLanguageMenuOpen,\n}: Props) => {\n const classes = useStyles();\n const languageMenuRef = useOutsideClick(() => setIsLanguageMenuOpen(false));\n\n const handleChangeLanguage = (language: string) => {\n setIsLanguageMenuOpen(false);\n handleLanguageChanged(language);\n };\n\n return (\n
\n {\n setIsLanguageMenuOpen(!isLanguageMenuOpen);\n handleCloseProfileMenu();\n }}\n className={classNames(classes.languageSwitchButton, { [classes.buttonOpenMenu]: isLanguageMenuOpen })}\n >\n {lang === 'ru' ? 'RU' : 'EN'}\n \n
\n handleChangeLanguage('ru')}\n className={classNames(classes.languageMenuButton, { [classes.isSelectedLanguage]: lang === 'ru' })}\n >\n Русский\n \n handleChangeLanguage('en')}\n className={classNames(classes.languageMenuButton, { [classes.isSelectedLanguage]: lang === 'en' })}\n >\n English\n \n
\n
\n );\n};\n","import React, { useState } from \"react\";\nimport { useStyles } from \"./styles\";\nimport logo from \"../../images/page-header/logo.svg\";\nimport { HeaderLinks } from \"./header-links/header-links\";\nimport { BurgerMenu } from \"./burger-menu/burger-menu\";\nimport { MainMenuSchemeModel } from \"./types\";\nimport { ProfileMenu } from \"./profile-menu/profile-menu\";\nimport { LanguageMenu } from \"./language-menu/language-menu\";\nimport { NODE_LOCATION } from \"gatsby-env-variables-fork\";\nimport { Translate } from \"../../locales/locales-utils\";\nimport { MANAGE_SITE_URL } from \"gatsby-env-variables-fork\";\nimport { navigate } from \"gatsby\";\nimport useWindowSize from \"../../hooks/change-size\";\nimport { browserRedirectToPage } from \"../../helpers/browserRedirectToPage\";\nimport { useAuth } from \"../../auth/authContext\";\nimport defaultProfile from \"../../images/page-header/default_profile.png\";\n\ntype Props = {\n mainMenuScheme: MainMenuSchemeModel;\n onLanguageChanged: (language: string) => void;\n lang: string;\n};\n\nexport const MainMenu = ({\n onLanguageChanged,\n mainMenuScheme,\n lang,\n}: Props) => {\n const classes = useStyles();\n const { links, profileMenuLinks } = mainMenuScheme;\n const isRuLocation = NODE_LOCATION === \"ru\";\n const tabletWidth = useWindowSize().width <= 1440;\n const {\n isAuthorizedUser,\n isDataFetching,\n profileIconSrc,\n nickName,\n firstName,\n lastName,\n } = useAuth();\n\n const [isProfileMenuOpen, setIsProfileMenuOpen] = useState(false);\n const [isLanguageMenuOpen, setIsLanguageMenuOpen] = useState(false);\n\n return (\n
\n {\n e.preventDefault();\n navigate(\"/\");\n }}\n >\n \"myquiz\"\n \n \n
\n {isRuLocation && !tabletWidth && (\n setIsProfileMenuOpen(false)}\n setIsLanguageMenuOpen={setIsLanguageMenuOpen}\n />\n )}\n {!isDataFetching && !isAuthorizedUser && (\n
\n \n browserRedirectToPage(`${MANAGE_SITE_URL}/Account/Register`)\n }\n >\n {isRuLocation ? Translate(\"MainMenu.SignUp\") : \"Sign up\"}\n \n \n browserRedirectToPage(`${MANAGE_SITE_URL}/Account/Login`)\n }\n >\n {isRuLocation ? Translate(\"MainMenu.Login\") : \"Log in\"}\n \n
\n )}\n {!isDataFetching && isAuthorizedUser && (\n <>\n \n \n browserRedirectToPage(`${MANAGE_SITE_URL}/Account/LogOff`)\n }\n >\n {isRuLocation ? Translate(\"MainMenu.Logout\") : \"Log out\"}\n \n
\n setIsLanguageMenuOpen(false)}\n />\n \n )}\n
\n \n \n );\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTIyIDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNzEuMzExMyAzLjcyODk5QzY5LjAxMzggMS4zNDExOSA2NS44OTk2IDAgNjIuNjUyNyAwQzU5LjQwNTcgMCA1Ni4yOTE1IDEuMzQxMTkgNTMuOTk0IDMuNzI4OTlDNTIuODQ0MiA0LjkwMTI5IDUxLjkzNjggNi4zMDU5NCA1MS4zMjc4IDcuODU2NkM1MC43MTg4IDkuNDA3MjUgNTAuNDIxIDExLjA3MTEgNTAuNDUyNiAxMi43NDZDNTAuNDIxIDE0LjQyMDggNTAuNzE4OCAxNi4wODQ3IDUxLjMyNzggMTcuNjM1NEM1MS45MzY4IDE5LjE4NjEgNTIuODQ0MiAyMC41OTA3IDUzLjk5NCAyMS43NjNDNTUuOTYyNSAyMy44NDYgNTguNTY3NSAyNS4xNDkzIDYxLjM2MDEgMjUuNDQ4NEg2MS41MTM1QzYxLjg2MzggMjUuNDQ0OSA2Mi4yMSAyNS4zNjkzIDYyLjUzMjIgMjUuMjI1OUM2Mi44NTQzIDI1LjA4MjUgNjMuMTQ2IDI0Ljg3NDIgNjMuMzkwNCAyNC42MTMxQzYzLjYzODkgMjQuMzUzNSA2My44MzQ5IDI0LjA0NDggNjMuOTY2NyAyMy43MDVDNjQuMDk4NCAyMy4zNjUzIDY0LjE2MzQgMjMuMDAxNSA2NC4xNTc3IDIyLjYzNTJDNjQuMTUxNCAyMi4yOTQ2IDY0LjA4NzUgMjEuOTU3NyA2My45Njg5IDIxLjY0MDJDNjMuODM4IDIxLjI4ODkgNjMuNjM2OCAyMC45NzA2IDYzLjM3ODYgMjAuNzA2NUM2Mi45Njk1IDIwLjMwMDEgNjIuNDUwMyAyMC4wMzQzIDYxLjg5MTMgMTkuOTQ0OUM2MC4zMTI2IDE5Ljc5MDggNTguODM4OCAxOS4wNTQ1IDU3LjczNjEgMTcuODY4N0M1Ny4wNzI5IDE3LjIwODMgNTYuNTQ4IDE2LjQxMjMgNTYuMTk0NiAxNS41MzA4QzU1Ljg0MTEgMTQuNjQ5MiA1NS42NjY2IDEzLjcwMTEgNTUuNjgyMSAxMi43NDZDNTUuNjY2OCAxMS43OTI3IDU1Ljg0MTQgMTAuODQ2NSA1Ni4xOTUgOS45NjY5OUM1Ni41NDg1IDkuMDg3NDQgNTcuMDczMiA4LjI5MzYyIDU3LjczNjEgNy42MzU1NEM1OC4zODA5IDYuOTYyMTMgNTkuMTQ3MiA2LjQyNzgxIDU5Ljk5MDkgNi4wNjMyM0M2MC44MzQ2IDUuNjk4NjQgNjEuNzM5MSA1LjUxMDk3IDYyLjY1MjcgNS41MTA5N0M2My41NjYyIDUuNTEwOTcgNjQuNDcwOCA1LjY5ODY0IDY1LjMxNDUgNi4wNjMyM0M2Ni4xNTgyIDYuNDI3ODEgNjYuOTI0NCA2Ljk2MjEzIDY3LjU2OTMgNy42MzU1NEM2OC4xMjQ2IDguMjA2NzUgNjguNTgzNSA4Ljg3MTI0IDY4LjkyNjggOS42MDExQzY5LjI0ODQgMTAuMjg5NyA2OS40NTk3IDExLjAyODMgNjkuNTUyNCAxMS43ODc4QzY5LjU2OCAxMi4zMTcgNjkuNzMgMTIuODMwMyA3MC4wMTkgMTMuMjY2MUM3MC4zMDc5IDEzLjcwMTkgNzAuNzExNiAxNC4wNDE3IDcxLjE4MTQgMTQuMjQ0N0M3MS42NjQ0IDE0LjQ1NTQgNzIuMTk2OSAxNC41MTA2IDcyLjcxMDMgMTQuNDAzM0M3My4yMjM3IDE0LjI5NiA3My42OTQ0IDE0LjAzMTEgNzQuMDYxOCAxMy42NDI4Qzc0LjMyMzYgMTMuMzgyNyA3NC41Mjg2IDEzLjA2NzEgNzQuNjYzIDEyLjcxNzRDNzQuNzk3NSAxMi4zNjc3IDc0Ljg1ODEgMTEuOTkyIDc0Ljg0MDkgMTEuNjE1OEM3NC41OTkxIDguNjM0NzggNzMuMzQ4MyA1LjgzOTg4IDcxLjMxMTMgMy43Mjg5OVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0wIDEwLjY4MjFINS42ODk4VjEzLjY5MTlDNi4yMTYyIDEyLjY2MDYgNi45NjgzNCAxMS43NzI2IDcuODg1NDQgMTEuMDk5OEM4Ljc2MDQ1IDEwLjUyNjIgOS43NzkyMiAxMC4yMzU1IDEwLjgxMyAxMC4yNjQ0QzExLjg0NCAxMC4yMjY1IDEyLjg2MTUgMTAuNTE4IDEzLjcyODcgMTEuMDk5OEMxNC41NDk3IDExLjY4MSAxNS4xOTMgMTIuNDk1NCAxNS41ODIgMTMuNDQ2MkMxNi4wODI3IDEyLjQ1MTEgMTYuODQxNCAxMS42MjIgMTcuNzcyIDExLjA1MzFDMTguNzAyNiAxMC40ODQyIDE5Ljc2NzkgMTAuMTk4MiAyMC44NDY4IDEwLjIyNzZDMjEuODc1NSAxMC4yMDM0IDIyLjg4NDcgMTAuNTIyIDIzLjcyNzIgMTEuMTM2NkMyNC41OTQ2IDExLjgwODIgMjUuMjU4NCAxMi43MjUgMjUuNjM5NSAxMy43Nzc5QzI2LjExOTQgMTUuMDY5OCAyNi4zNTIgMTYuNDQ3IDI2LjMyNDIgMTcuODMxOFYyNS4yMDI3SDIwLjMzOTJWMTcuODMxOEMyMC4zODk5IDE3LjA0MDIgMjAuMjE3NiAxNi4yNTA0IDE5Ljg0MzUgMTUuNTU5MUMxOS42OTk3IDE1LjMxNzMgMTkuNDk3NyAxNS4xMTg2IDE5LjI1NzYgMTQuOTgyOUMxOS4wMTc0IDE0Ljg0NzIgMTguNzQ3NCAxNC43NzkgMTguNDc0MSAxNC43ODUyQzE4LjE1MzkgMTQuNzg4IDE3LjgzODUgMTQuODY2OSAxNy41NTIxIDE1LjAxNkMxNy4yNjU3IDE1LjE2NSAxNy4wMTU4IDE1LjM4MDIgMTYuODIxNSAxNS42NDUxQzE2LjM1NTcgMTYuMjIyIDE2LjEwODEgMTYuOTU1NyAxNi4xMjUgMTcuNzA5VjI1LjIwMjdIMTAuMjIyN1YxNy44MzE4QzEwLjI3MzQgMTcuMDQwMiAxMC4xMDExIDE2LjI1MDQgOS43MjY5NSAxNS41NTkxQzkuNTczNDIgMTUuMzA0IDkuMzU2MDggMTUuMDk3MiA5LjA5ODIxIDE0Ljk2MDlDOC44NDAzNSAxNC44MjQ2IDguNTUxNjkgMTQuNzYzOCA4LjI2MzE5IDE0Ljc4NTJDNy45NDQ0OCAxNC43ODcxIDcuNjMwNTEgMTQuODY1NyA3LjM0NTg2IDE1LjAxNDlDNy4wNjEyIDE1LjE2NDEgNi44MTM1OCAxNS4zNzk4IDYuNjIyMzUgMTUuNjQ1MUM2LjE2MzY5IDE2LjIyNTQgNS45MjA3IDE2Ljk1NzggNS45Mzc2OSAxNy43MDlWMjUuMjAyN0gwVjEwLjY4MjFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzQuOTI5NiAzMS42NzY4TDM1LjQxMzYgMjcuMzE1N0MzNi4wODkxIDI3LjQyNzMgMzYuNzcxOSAyNy40ODQ4IDM3LjQ1NTggMjcuNDg3N0MzNy45Mjg2IDI3LjUyMSAzOC40MDI2IDI3LjQ0NDcgMzguODQzNiAyNy4yNjQxQzM5LjI4NDUgMjcuMDgzNSAzOS42ODE0IDI2LjgwMzIgNDAuMDA1NiAyNi40NDM1QzQwLjcxNjkgMjUuMjczMyA0MS4wMzY1IDIzLjg5MTIgNDAuOTE0NiAyMi41MTI0QzQwLjQ5NTcgMjMuNDM0NSAzOS44MjM1IDI0LjIwNjcgMzguOTgzMSAyNC43MzE1QzM4LjE0MjcgMjUuMjU2MiAzNy4xNzE3IDI1LjUxIDM2LjE5MjcgMjUuNDYwN0MzNS4zNjU2IDI1LjQ5OSAzNC41NDE3IDI1LjMzMDUgMzMuNzkgMjQuOTY5M0MzMy4wMzgzIDI0LjYwODEgMzIuMzgwNyAyNC4wNjQ3IDMxLjg3MjMgMjMuMzg0NkMzMC43NTkyIDIxLjc1OTYgMzAuMjEzNSAxOS43ODczIDMwLjMyNTkgMTcuNzk1VjEwLjQyNDJIMzYuMjI4MVYxOC43MDQxQzM2LjIwNDIgMTkuMzExOCAzNi4zOTc3IDE5LjkwNzEgMzYuNzcxMiAyMC4zNzQ4QzM2Ljk1MjQgMjAuNTk1IDM3LjE3OTUgMjAuNzY5MiAzNy40MzUyIDIwLjg4NDJDMzcuNjkwOSAyMC45OTkxIDM3Ljk2ODUgMjEuMDUxOCAzOC4yNDY3IDIxLjAzODJDMzguNTU2MyAyMS4wNDA3IDM4Ljg2MTYgMjAuOTYzNSAzOS4xMzU1IDIwLjgxMzVDMzkuNDA5NSAyMC42NjM0IDM5LjY0MzUgMjAuNDQ1MiAzOS44MTY3IDIwLjE3ODNDNDAuMjQ3OCAxOS41MjE1IDQwLjQ2MzIgMTguNzM3MSA0MC40MzA2IDE3Ljk0MjVWMTAuNDczM0g0Ni40MDM3VjIxLjUyOTZDNDYuNDAzNyAyNC45NTI5IDQ1LjY2NzkgMjcuNTU3MyA0NC4xOTYyIDI5LjM0MjdDNDMuNDAzNSAzMC4yNDM5IDQyLjQyNjkgMzAuOTQ4OSA0MS4zMzgyIDMxLjQwNkM0MC4yNDk0IDMxLjg2MyAzOS4wNzYxIDMyLjA2MDUgMzcuOTA0NCAzMS45ODM5QzM2LjkwNTEgMzEuOTkzOCAzNS45MDc2IDMxLjg5MDggMzQuOTI5NiAzMS42NzY4WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTk5LjM1ODkgNy40MTQ1MkM5OS4wNjUxIDcuMTQ5NTggOTguODMwNCA2LjgyMDk5IDk4LjY3MTMgNi40NTE3NkM5OC41MTIzIDYuMDgyNTIgOTguNDMyNyA1LjY4MTU3IDk4LjQzODIgNS4yNzY5OEM5OC40MzM1IDQuODY5NDMgOTguNTE4MyA0LjQ2NjE1IDk4LjY4NiA0LjA5Nzg1Qzk4Ljg1MzcgMy43Mjk1NSA5OS4xMDAxIDMuNDA1OTYgOTkuNDA2MiAzLjE1MTcyQzEwMC4wMTUgMi41OTI1IDEwMC44MDEgMi4yODYzOCAxMDEuNjE0IDIuMjkxNzlDMTAyLjQ0OSAyLjI2OTQzIDEwMy4yNiAyLjU4MTY2IDEwMy44OCAzLjE2NEMxMDQuMTggMy40MjMzOSAxMDQuNDIxIDMuNzQ4MjcgMTA0LjU4NyA0LjExNTU2QzEwNC43NTIgNC40ODI4NiAxMDQuODM4IDQuODgzNTcgMTA0LjgzOCA1LjI4OTI2QzEwNC44MzggNS42OTQ5NSAxMDQuNzUyIDYuMDk1NjcgMTA0LjU4NyA2LjQ2Mjk2QzEwNC40MjEgNi44MzAyNiAxMDQuMTggNy4xNTUxMyAxMDMuODggNy40MTQ1MkMxMDMuMjYgNy45NzkyMiAxMDIuNDYxIDguMjg1NDkgMTAxLjYzNyA4LjI3NDQ2QzEwMC43OTkgOC4zMDcyMiA5OS45ODE5IDcuOTk4NzQgOTkuMzU4OSA3LjQxNDUyWk05OS45Mzc0IDIzLjkxMjlDOTguOTk1IDIyLjY4NzYgOTguNTIgMjEuMTQzNSA5OC42MDM0IDE5LjU3NjRWMTAuNDczNEgxMDQuNjEyVjE5LjI5MzlDMTA0LjYgMTkuNDgzOCAxMDQuNjI2IDE5LjY3NDIgMTA0LjY4NyAxOS44NTM2QzEwNC43NDcgMjAuMDMzIDEwNC44NDMgMjAuMTk3OCAxMDQuOTY2IDIwLjMzODFDMTA1LjA4NyAyMC40NjE4IDEwNS4yMzEgMjAuNTU4NCAxMDUuMzkgMjAuNjIxOEMxMDUuNTQ4IDIwLjY4NTIgMTA1LjcxNyAyMC43MTQxIDEwNS44ODcgMjAuNzA2NkMxMDYuMzA0IDIwLjY5ODQgMTA2LjcxMSAyMC41NzU1IDEwNy4wNjcgMjAuMzUwNEwxMDcuNDIxIDI0LjQ1MzVDMTA2LjkzNCAyNC44MjA4IDEwNi4zOCAyNS4wOCAxMDUuNzkyIDI1LjIxNTFDMTA1LjExMyAyNS4zOTQ4IDEwNC40MTUgMjUuNDg1NiAxMDMuNzE1IDI1LjQ4NTRDMTAzLjAxMSAyNS41Mjk4IDEwMi4zMDYgMjUuNDA5NCAxMDEuNjUyIDI1LjEzMzFDMTAwLjk5OCAyNC44NTY3IDEwMC40MTIgMjQuNDMxNCA5OS45Mzc0IDIzLjg4ODRWMjMuOTEyOVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMDkuODg5IDIyLjA5NDdMMTE0Ljg3IDE0LjI1NzFIMTEwLjA3N1YxMC40NzM0SDEyMS44ODJWMTMuNjU1MUwxMTcuMTYgMjEuNDY4MkgxMjJWMjUuMjM5NkgxMDkuODg5VjIyLjA5NDdaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNODguNzgyMSAxMC40NzM0VjE4LjgxNDdDODguODE0OSAxOS4zNzA1IDg4LjYzNjkgMTkuOTE3NCA4OC4yODYzIDIwLjMzOEM4OC4xMjQ1IDIwLjUxNiA4Ny45MjgyIDIwLjY1NjEgODcuNzEwNSAyMC43NDkzQzg3LjQ5MjcgMjAuODQyNSA4Ny4yNTg1IDIwLjg4NjUgODcuMDIzMiAyMC44Nzg2Qzg2Ljc3OSAyMC44ODc2IDg2LjUzNTYgMjAuODQ0MyA4Ni4zMDgyIDIwLjc1MTNDODYuMDgwNyAyMC42NTgzIDg1Ljg3NDEgMjAuNTE3NiA4NS43MDExIDIwLjMzOEM4NS41MTk5IDIwLjEzMzkgODUuMzgwNCAxOS44OTM3IDg1LjI5MTIgMTkuNjMxOEM4NS4yMDE5IDE5LjM3IDg1LjE2NDYgMTkuMDkyIDg1LjE4MTcgMTguODE0N1YxNC42ODdDODUuMDc5IDE0LjgzMjUgODQuOTY4NiAxNC45NzE5IDg0Ljg1MTIgMTUuMTA0N0w3OS41NjI3IDIwLjYwODNDNzkuNzE5NiAyMS4yMTk3IDc5Ljk3MDcgMjEuODAwNSA4MC4zMDY0IDIyLjMyODJDODAuOTgyNSAyMy4zMzk4IDgxLjkxOTYgMjQuMTMxOSA4My4wMDk2IDI0LjYxMzFDODQuMjYzMyAyNS4xODIyIDg1LjYyMDMgMjUuNDYzIDg2Ljk4NzggMjUuNDM2MkM4OC4zMzI1IDI1LjQ2NDEgODkuNjY2NiAyNS4xODMgOTAuODk1MSAyNC42MTMxQzkxLjk2NjggMjQuMTE2IDkyLjg4MyAyMy4zMTU4IDkzLjUzOTMgMjIuMzAzNkM5NC4xNzkxIDIxLjI4MTggOTQuNTA4MSAyMC4wODMxIDk0LjQ4MzcgMTguODYzOVYxMC40NzM0SDg4Ljc4MjFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNODIuNDMyMyAxMC4yMzU3QzgyLjEwNjIgOS44OTAyOCA4MS42NjQyIDkuNjk2MjkgODEuMjAzMyA5LjY5NjI5QzgwLjc0MjQgOS42OTYyOSA4MC4zMDA0IDkuODkwMjggNzkuOTc0MyAxMC4yMzU3TDcwLjc2ODcgMTkuOTk4Mkw2Ny4zNiAxNi4zODM0QzY3LjIwMzcgMTYuMTkwNyA2Ny4wMTE1IDE2LjAzNDQgNjYuNzk1NSAxNS45MjQyQzY2LjU3OTUgMTUuODE0MSA2Ni4zNDQzIDE1Ljc1MjUgNjYuMTA0OCAxNS43NDMzQzY1Ljg2NTMgMTUuNzM0MSA2NS42MjY2IDE1Ljc3NzUgNjUuNDAzNiAxNS44NzA3QzY1LjE4MDYgMTUuOTY0IDY0Ljk3ODMgMTYuMTA1MiA2NC44MDkyIDE2LjI4NTNDNjQuNjQwMSAxNi40NjU1IDY0LjUwOCAxNi42ODA4IDY0LjQyMTEgMTYuOTE3NkM2NC4zMzQyIDE3LjE1NDUgNjQuMjk0NCAxNy40MDc5IDY0LjMwNDIgMTcuNjYxOUM2NC4zMTQgMTcuOTE1OCA2NC4zNzMyIDE4LjE2NDkgNjQuNDc4MSAxOC4zOTM1QzY0LjU4MyAxOC42MjIgNjQuNzMxMyAxOC44MjUxIDY0LjkxMzcgMTguOTlMNzAuNzgwMyAyNS4yMTE1TDgyLjQzMjMgMTIuODQyM0M4Mi43NTc5IDEyLjQ5NjUgODIuOTQwOSAxMi4wMjc3IDgyLjk0MDkgMTEuNTM5QzgyLjk0MDkgMTEuMDUwMiA4Mi43NTc5IDEwLjU4MTUgODIuNDMyMyAxMC4yMzU3WiIgZmlsbD0iIzY1QzE1RCIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjkwMDggNUM1LjUzNzk4IDUgMi4wMDEyMiA4LjUzNjc3IDIuMDAxMjIgMTIuODk5NlYxNi4yNTY2QzIuMDAxMjIgMTguMjg4OCAzLjk0MTA4IDE5Ljc1OTYgNS44OTc4NCAxOS4yMTFDNi4zNTYyOCAxOS4wODI1IDYuNzg2MTYgMTguODY4MSA3LjE2NDY1IDE4LjU3OTJMOS41MDA1MSAxNi43OTY2QzEwLjE2OTkgMTYuMjg1NyAxMC45ODg2IDE2LjAwOSAxMS44MzA2IDE2LjAwOUMxMi44MzY2IDE2LjAwOSAxMy44MDI1IDE2LjQwMzcgMTQuNTIwNSAxNy4xMDgzTDE1LjU2NjIgMTguMTM0NEMxNi4xNTY1IDE4LjcxMzYgMTYuODk4NCAxOS4xMTQzIDE3LjcwNjQgMTkuMjkwNUMxOS45MTM4IDE5Ljc3MTkgMjIuMDAxMiAxOC4wOTA1IDIyLjAwMTIgMTUuODMxM1YxMi44OTk2QzIyLjAwMTIgOC41MzY3NiAxOC40NjQ1IDUgMTQuMTAxNiA1SDkuOTAwOFpNMTUuOTAzNyAxNS42OTg3QzE0LjgxNjQgMTQuNjMxOCAxMy4zNTM5IDE0LjAzNDEgMTEuODMwNiAxNC4wMzQxQzEwLjU1NTYgMTQuMDM0MSA5LjMxNTkzIDE0LjQ1MzEgOC4zMDIzOCAxNS4yMjY2TDUuOTY2NTEgMTcuMDA5M0M1Ljc4NjcyIDE3LjE0NjUgNS41ODI1MSAxNy4yNDg0IDUuMzY0NzMgMTcuMzA5NEM0LjY2NzQxIDE3LjUwNDkgMy45NzYxMiAxNi45ODA4IDMuOTc2MTIgMTYuMjU2NlYxMi44OTk2QzMuOTc2MTIgOS42Mjc0NyA2LjYyODY5IDYuOTc0OSA5LjkwMDggNi45NzQ5SDE0LjEwMTZDMTcuMzczOCA2Ljk3NDkgMjAuMDI2MyA5LjYyNzQ3IDIwLjAyNjMgMTIuODk5NlYxNS44MzEzQzIwLjAyNjMgMTYuODMwMyAxOS4xMDMzIDE3LjU3MzggMTguMTI3MSAxNy4zNjFDMTcuNjgyNSAxNy4yNjQgMTcuMjc0MiAxNy4wNDM1IDE2Ljk0OTQgMTYuNzI0N0wxNS45MDM3IDE1LjY5ODdaTTguODc3NyA5LjcyODEzQzguODc3NyA5LjE4Mjc4IDguNDM1NiA4Ljc0MDY5IDcuODkwMjUgOC43NDA2OUM3LjM0NDkgOC43NDA2OSA2LjkwMjggOS4xODI3OCA2LjkwMjggOS43MjgxM1Y5Ljk2MTM4SDYuNjY3MTNDNi4xMjE3OCA5Ljk2MTM4IDUuNjc5NjkgMTAuNDAzNSA1LjY3OTY5IDEwLjk0ODhDNS42Nzk2OSAxMS40OTQyIDYuMTIxNzggMTEuOTM2MyA2LjY2NzEzIDExLjkzNjNINi45MDI4VjEyLjE5NjhDNi45MDI4IDEyLjc0MjEgNy4zNDQ5IDEzLjE4NDIgNy44OTAyNSAxMy4xODQyQzguNDM1NiAxMy4xODQyIDguODc3NyAxMi43NDIxIDguODc3NyAxMi4xOTY4VjExLjkzNjNIOS4xMzU3NkM5LjY4MTExIDExLjkzNjMgMTAuMTIzMiAxMS40OTQyIDEwLjEyMzIgMTAuOTQ4OEMxMC4xMjMyIDEwLjQwMzUgOS42ODExMSA5Ljk2MTM4IDkuMTM1NzYgOS45NjEzOEg4Ljg3NzdWOS43MjgxM1pNMTQuODg0NiA5Ljk3NDgxQzE0LjMzOTIgOS45NzQ4MSAxMy44OTcxIDEwLjQxNjkgMTMuODk3MSAxMC45NjIzQzEzLjg5NzEgMTEuNTA3NiAxNC4zMzkyIDExLjk0OTcgMTQuODg0NiAxMS45NDk3SDE1LjkxMzJIMTYuOTQxOEMxNy40ODcxIDExLjk0OTcgMTcuOTI5MiAxMS41MDc2IDE3LjkyOTIgMTAuOTYyM0MxNy45MjkyIDEwLjQxNjkgMTcuNDg3MSA5Ljk3NDgxIDE2Ljk0MTggOS45NzQ4MUgxNS45MTMySDE0Ljg4NDZaIiBmaWxsPSIjODc4RDlBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjI4MjggMi4wMDA4OUM5LjI5NzA0IDIuMDAwMyA5LjMxMTM1IDIgOS4zMjU3MyAySDE0LjE3NDFMMTQuMTgyNiAyLjAwMDA0TDE0LjE5MTEgMkgxNy4wMTYzQzE4LjMyMjkgMiAxOS40NjI5IDIuMjI5MTMgMjAuMzE1MyAyLjk3MTAxQzIxLjE2NzEgMy43MTIzMiAyMS41MzQzIDQuNzk0MjggMjEuNzEzNyA2LjAxNUMyMS43MTU2IDYuMDI3ODkgMjEuNzE3MyA2LjA0MDgyIDIxLjcxODcgNi4wNTM3OEwyMS45NzgzIDguNDU2MjRDMjIuMTI4MSA5Ljg3NDM1IDIxLjUzMjYgMTEuMTExNiAyMC41Mjg3IDExLjg5MzJWMTguNDMyN0MyMC41Mjg3IDIwLjEyNTYgMTkuMTU2MyAyMS40OTggMTcuNDYzNCAyMS40OThIMTQuMjE1QzE0LjE1MzQgMjEuNTA5NiAxNC4wODk4IDIxLjUxNTYgMTQuMDI0OSAyMS41MTU2SDkuOTQ5OTVDOS44ODQ5NyAyMS41MTU2IDkuODIxNDEgMjEuNTA5NiA5Ljc1OTggMjEuNDk4SDYuMDM1MzFDNC4zNDI0MiAyMS40OTggMi45NzAwNSAyMC4xMjU2IDIuOTcwMDUgMTguNDMyN1YxMS43NDlDMi45NzAwNSAxMS42NTE0IDIuOTgzNzUgMTEuNTU2OSAzLjAwOTMyIDExLjQ2NzVDMi4yOTI5MiAxMC42OTYyIDEuODk5MjkgOS42NDAxOCAyLjAyNDEyIDguNDU3NzVMMi4yNzQ0OCA2LjA1ODRDMi4yNzU5NyA2LjA0NDEzIDIuMjc3NzYgNi4wMjk4OSAyLjI3OTg1IDYuMDE1NjlDMi40NTk1MyA0Ljc5NDcgMi44MjczNCAzLjcxMjY1IDMuNjgwMTkgMi45NzE0NEM0LjUzMzM5IDIuMjI5OTIgNS42NzQyNCAyLjAwMDg5IDYuOTgyMzQgMi4wMDA4OUg5LjI4MjhaTTUuMDEzNTYgMTIuNjM4NVYxOC40MzI3QzUuMDEzNTYgMTguOTk3IDUuNDcxMDEgMTkuNDU0NSA2LjAzNTMxIDE5LjQ1NDVIOC45MjgyVjE4LjMwOTlDOC45MjgyIDE3LjQ0MTQgOS4xMjc5NyAxNi41OTg5IDkuNzExMTggMTUuOTczOEMxMC4zMDcgMTUuMzM1MSAxMS4xMzIxIDE1LjEwNDEgMTEuOTg3NCAxNS4xMDQxQzEyLjg0MjcgMTUuMTA0MSAxMy42Njc4IDE1LjMzNTEgMTQuMjYzNiAxNS45NzM4QzE0Ljg0NjggMTYuNTk4OSAxNS4wNDY2IDE3LjQ0MTQgMTUuMDQ2NiAxOC4zMDk5VjE5LjQ1NDVIMTcuNDYzNEMxOC4wMjc3IDE5LjQ1NDUgMTguNDg1MSAxOC45OTcgMTguNDg1MSAxOC40MzI3VjEyLjczMzdDMTguMjk1OCAxMi43NTgxIDE4LjEwMjMgMTIuNzcwNyAxNy45MDU1IDEyLjc3MDdDMTYuODI0MSAxMi43NzA3IDE1LjgxNzEgMTIuMjYxIDE1LjA4MDEgMTEuNTg5OUMxNS4wMDQxIDExLjUyMDYgMTQuOTI5NiAxMS40NDg0IDE0Ljg1NyAxMS4zNzM1QzE0LjExMjUgMTIuMjQ3NSAxMi45NjA1IDEyLjc3OTYgMTEuNzcyMiAxMi43Nzk2QzEwLjY0OCAxMi43Nzk2IDkuNTMxMSAxMi4yOTg4IDguNzcwMzcgMTEuNDk0Nkw4Ljc2MTEzIDExLjUwNTNDOC4xMzI4NSAxMi4yMjg4IDcuMjE5NyAxMi43NzE2IDYuMTAxMTcgMTIuNzcxNkM1LjcyNDQ4IDEyLjc3MTYgNS4zNTk4MSAxMi43MjU1IDUuMDEzNTYgMTIuNjM4NVpNMTMuMDAzMSAxOS40NTQ1VjE4LjMwOTlDMTMuMDAzMSAxNy43MTk1IDEyLjg2NDcgMTcuNDY5OSAxMi43Njk0IDE3LjM2NzhDMTIuNjg2NyAxNy4yNzkxIDEyLjQ5MzIgMTcuMTQ3NiAxMS45ODc0IDE3LjE0NzZDMTEuNDgxNyAxNy4xNDc2IDExLjI4ODEgMTcuMjc5MSAxMS4yMDU0IDE3LjM2NzhDMTEuMTEwMSAxNy40Njk5IDEwLjk3MTcgMTcuNzE5NSAxMC45NzE3IDE4LjMwOTlWMTkuNDU0NUgxMy4wMDMxWk0xMC4yNjY3IDQuMDQzNUgxMy4yMzM3TDEzLjY0MDcgOC45NDIwM0wxMy42NDI0IDguOTYwNTVDMTMuNzMxNCA5LjgzODMgMTIuOTQyMSAxMC43MzYxIDExLjc3MjIgMTAuNzM2MUMxMC41ODAyIDEwLjczNjEgOS43NzAzOCA5LjgxODc4IDkuODU3NDQgOC45NjA1NUw5Ljg1OTE1IDguOTQyMDNMMTAuMjY2NyA0LjA0MzVaTTguMjE1NDkgNC4wNDQzOUg2Ljk4MjM0QzUuODYwMjggNC4wNDQzOSA1LjMyMjI3IDQuMjUxNzIgNS4wMjA2OSA0LjUxMzgzQzQuNzIwNzQgNC43NzQ1MiA0LjQ1OTMgNS4yNTg2NiA0LjMwNDY2IDYuMjkyNDlMNC4wNTYzNyA4LjY3MTg5QzMuOTQxNTMgOS43NTc4NSA0Ljc2NzI5IDEwLjcyODEgNi4xMDExNyAxMC43MjgxQzYuNTEzMDkgMTAuNzI4MSA2Ljg5NTk3IDEwLjUzNjUgNy4yMTgyMiAxMC4xNjU0QzcuNTQ2NTcgOS43ODcyOSA3Ljc2ODg5IDkuMjY0MTggNy44MjQzMyA4Ljc0NTE0TDguMjE1NDkgNC4wNDQzOVpNMTUuMjk4MyA0LjA0MzVMMTUuNjc2IDguNzQxMjFDMTUuNzI1MSA5LjE1MTQ3IDE1Ljk5MzggOS42NTc5OCAxNi40NTYxIDEwLjA3OUMxNi45MjEgMTAuNTAyNCAxNy40NTg1IDEwLjcyNzIgMTcuOTA1NSAxMC43MjcyQzE5LjIzNDggMTAuNzI3MiAyMC4wNjAzIDkuNzU5MDUgMTkuOTQ2MiA4LjY3MjA0TDE5Ljk0NjEgOC42NzA4NkwxOS42ODkyIDYuMjkzM0MxOS41MzQ3IDUuMjU3OSAxOS4yNzM0IDQuNzczMjQgMTguOTczOCA0LjUxMjQ5QzE4LjY3MyA0LjI1MDc0IDE4LjEzNjQgNC4wNDM1IDE3LjAxNjMgNC4wNDM1SDE1LjI5ODNaIiBmaWxsPSIjODc4RDlBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4xNDUgNC42ODIxM0MxMy4xNDUgNC4xNDE0IDEyLjYwNzQgMy43NzI3MyAxMi4xMTI5IDMuOTYxMDRMNC45NDc5IDYuNjgwOTRDNC40MTA2MyA2Ljg4NTM2IDQuMDI4NyA3LjM1NDg5IDMuOTI3OTQgNy45MTI2QzQuNjE5NCA3LjQ0NTI2IDUuNDUwOTUgNy4xNzIxOCA2LjM0NDEzIDcuMTcyMThIMTMuMTQ1VjQuNjgyMTNaTTE1LjA0NTMgNy4xNzIxOFY0LjY4MjEzQzE1LjA0NTMgMi44MTE0NSAxMy4xODI4IDEuNTEyMDEgMTEuNDM5NiAyLjE3NTY5TDQuMjc1ODMgNC44OTUxMkMyLjkwMyA1LjQxNzAxIDIuMDAxMjIgNi43MzQ5IDIuMDAxMjIgOC4yMDg2OVYxNy42MzY3QzIuMDAxMjIgMjAuMDQwNSAzLjk1MTU1IDIyIDYuMzQ0MTMgMjJIMTYuNzAyOUMxOS4wOTU1IDIyIDIxLjA0NTggMjAuMDQwNSAyMS4wNDU4IDE3LjYzNjdWMTcuMjY4OEMyMS42MTQ0IDE2Ljk0NzQgMjIuMDAxMiAxNi4zNCAyMi4wMDEyIDE1LjYzMzRWMTMuNzY1OEMyMi4wMDEyIDEzLjA1OTIgMjEuNjE0NCAxMi40NTE4IDIxLjA0NTggMTIuMTMwNFYxMS41MzU1QzIxLjA0NTggOS4xMzE2OSAxOS4wOTU1IDcuMTcyMTggMTYuNzAyOSA3LjE3MjE4SDE1LjA0NTNaTTE0LjA3MTUgOS4wODEzOUMxNC4wNzkzIDkuMDgxNTggMTQuMDg3MiA5LjA4MTY4IDE0LjA5NTIgOS4wODE2OEMxNC4xMDMxIDkuMDgxNjggMTQuMTExIDkuMDgxNTggMTQuMTE4OSA5LjA4MTM5SDE2LjcwMjlDMTguMDQ2IDkuMDgxMzkgMTkuMTQ1NSAxMC4xODYxIDE5LjE0NTUgMTEuNTM1NVYxMS44ODY0SDE4LjI3M0MxOC4xMjU5IDExLjg4NjQgMTcuOTgwOCAxMS44OTc3IDE3LjgzODcgMTEuOTE5OEMxNy4yNTA0IDEyLjAxMTEgMTYuNzEzOCAxMi4yODc0IDE2LjMwMDIgMTIuNzEwNEMxNS43MzI3IDEzLjI3MTkgMTUuNDA0MyAxNC4wODEgMTUuNDg0OCAxNC45NDc3QzE1LjYxNTggMTYuNDkgMTYuOTg4MiAxNy41MTI2IDE4LjM4MDIgMTcuNTEyNkgxOS4xNDU1VjE3LjYzNjdDMTkuMTQ1NSAxOC45ODYxIDE4LjA0NiAyMC4wOTA4IDE2LjcwMjkgMjAuMDkwOEg2LjM0NDEzQzUuMDAxMDYgMjAuMDkwOCAzLjkwMTUxIDE4Ljk4NjEgMy45MDE1MSAxNy42MzY3VjExLjUzNTVDMy45MDE1MSAxMC4xODYxIDUuMDAxMDYgOS4wODEzOSA2LjM0NDEzIDkuMDgxMzlIMTQuMDcxNVpNMjAuMTAwOSAxNS42MDMzTDIwLjA5NTcgMTUuNjAzM0gxOC4zODEyQzE3LjgyNTkgMTUuNjAzMyAxNy40MTMzIDE1LjE5NiAxNy4zNzkxIDE0Ljc4MzNMMTcuMzc4MSAxNC43NzIxQzE3LjM1MjYgMTQuNTAzIDE3LjQ1MzQgMTQuMjQ4NCAxNy42MzczIDE0LjA2OEMxNy42NDMxIDE0LjA2MjMgMTcuNjQ4OCAxNC4wNTY2IDE3LjY1NDQgMTQuMDUwOEMxNy43Nzc4IDEzLjkyMzQgMTcuOTQwMyAxMy44MzYgMTguMTI5NCAxMy44MDY1QzE4LjE3NTQgMTMuNzk5NCAxOC4yMjI5IDEzLjc5NTcgMTguMjcxOSAxMy43OTU3SDIwLjEwMDlWMTUuNjAzM1pNNi4wNjE3MiAxMS45Nzk3QzYuMDYxNzIgMTEuNDUyNSA2LjQ4NzExIDExLjAyNTEgNy4wMTE4NiAxMS4wMjUxSDEzLjMyODJDMTMuODUyOSAxMS4wMjUxIDE0LjI3ODMgMTEuNDUyNSAxNC4yNzgzIDExLjk3OTdDMTQuMjc4MyAxMi41MDY5IDEzLjg1MjkgMTIuOTM0MyAxMy4zMjgyIDEyLjkzNDNINy4wMTE4NkM2LjQ4NzExIDEyLjkzNDMgNi4wNjE3MiAxMi41MDY5IDYuMDYxNzIgMTEuOTc5N1oiIGZpbGw9IiM4NzhEOUEiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4zMjkgNC43NDQ0TDExLjMyODUgNC43NDUzNUw5Ljc0NzQ1IDcuOTMzNjNDOS41NTA3IDguMzM2MzMgOS4yMjk5NCA4LjY2ODIxIDguOTEyNCA4LjkwNTU5QzguNTk0IDkuMTQzNjMgOC4xODYzIDkuMzU1ODMgNy43NTAzMyA5LjQzMDQ3TDcuNzQ2NzkgOS40MzEwOEw0Ljg3NzE4IDkuOTExNzhDNC4xMzY3OSAxMC4wMzYyIDQuMDIwMTYgMTAuMzA2OCA0LjAxMTQgMTAuMzM0NEM0LjAwMTQzIDEwLjM2NTkgMy45NDQyMiAxMC42NjA0IDQuNDc2NjYgMTEuMTk3Mkw2LjcwNzk3IDEzLjQ0N0M3LjA0NTkgMTMuNzg3NyA3LjI2MjA1IDE0LjIzMTIgNy4zNzkzOCAxNC42NDQ1QzcuNDk2OTEgMTUuMDU4NSA3LjU0NDk3IDE1LjU0NjQgNy40NDE5MyAxNi4wMDk5TDcuNDQwNDcgMTYuMDE2NUw2LjgwMTY1IDE4LjgwMTVDNi42OTU1MyAxOS4yNjM5IDYuNjk1MjggMTkuNTg0OCA2LjczMTc1IDE5Ljc4MTVDNi43NTY5IDE5LjkxNzEgNi43OTI5MiAxOS45Njc2IDYuODA0MzIgMTkuOTgwMkM2LjgxOTk1IDE5Ljk4NzEgNi44NzYzOSAyMC4wMDQ0IDcuMDA1NDIgMTkuOTg4MUM3LjE5OTExIDE5Ljk2MzcgNy41MDAzNyAxOS44NjcyIDcuOTA0OTkgMTkuNjI1TDEwLjYwMjYgMTguMDE0OUMxMS4wMzg2IDE3Ljc1OTIgMTEuNTQ3NyAxNy42NTk4IDEyLjAwMjYgMTcuNjU5OEMxMi40NTY2IDE3LjY1OTggMTIuOTY3MyAxNy43NTg5IDEzLjQwMjggMTguMDE5TDE2LjA5MTcgMTkuNjI0QzE2LjQ5OTggMTkuODY3IDE2LjgwMzMgMTkuOTY0NyAxNi45OTg2IDE5Ljk4OTZDMTcuMTI0MSAyMC4wMDU2IDE3LjE4MDcgMTkuOTkwMSAxNy4xOTc4IDE5Ljk4MzFDMTcuMjA5OCAxOS45NjkxIDE3LjI0MzcgMTkuOTE4MSAxNy4yNjc2IDE5Ljc4NzNDMTcuMzAzOSAxOS41ODk3IDE3LjMwMzIgMTkuMjY3MSAxNy4xOTY4IDE4LjgwMTVMMTYuNTU2NSAxNi4wMDk5QzE2LjQ1MzUgMTUuNTQ2NCAxNi41MDE2IDE1LjA1ODUgMTYuNjE5MSAxNC42NDQ1QzE2LjczNjQgMTQuMjMxMiAxNi45NTI2IDEzLjc4NzcgMTcuMjkwNSAxMy40NDdMMTkuNTIxOCAxMS4xOTcyTDE5LjUyNDIgMTEuMTk0OEMyMC4wNjAxIDEwLjY1ODIgMjAuMDAwMyAxMC4zNjUzIDE5Ljk5MSAxMC4zMzYyQzE5Ljk4MiAxMC4zMDc4IDE5Ljg2MjcgMTAuMDM2NCAxOS4xMjEzIDkuOTExNzhMMTYuMjUxNyA5LjQzMTA3QzE1LjgxMjIgOS4zNTcyMyAxNS40MDE0IDkuMTQ2MDYgMTUuMDgwMSA4LjkwNjk5QzE0Ljc2MDEgOC42Njg5NiAxNC40Mzg5IDguMzM2NjMgMTQuMjQyIDcuOTMzNjJMMTIuNjU5MSA0Ljc0MTYyQzEyLjMwMiA0LjAxNzcgMTIuMDAyOSAzLjk5OTYgMTEuOTk4MSAzLjk5OTZDMTEuOTkxNSAzLjk5OTYgMTEuNjkwNCA0LjAxOTkyIDExLjMyOSA0Ljc0NDRaTTE0LjQ1MjQgMy44NTY5OUwxNi4wMzg2IDcuMDU1NjJDMTYuMDU3OCA3LjA5NTIgMTYuMTMxNCA3LjE5NjgyIDE2LjI3MzYgNy4zMDI2N0MxNi40MTU1IDcuNDA4MTggMTYuNTM1OSA3LjQ1MTEzIDE2LjU4MjQgNy40NTlMMTkuNDUyMiA3LjkzOTc0QzIwLjU0NjIgOC4xMjM1OSAyMS41NjExIDguNjc3NzkgMjEuODk2MiA5LjcyODg2QzIyLjIzMDkgMTAuNzc4OCAyMS43MjY0IDExLjgxODkgMjAuOTQwMyAxMi42MDY2TDIwLjkzOTIgMTIuNjA3N0wxOC43MTAzIDE0Ljg1NTFDMTguNjcwMyAxNC44OTU0IDE4LjU5NCAxNS4wMDk3IDE4LjU0MjcgMTUuMTkwNkMxOC40OTIgMTUuMzY5IDE4LjQ5NDUgMTUuNTEwNCAxOC41MDgxIDE1LjU3NDFMMTguNTA4NSAxNS41NzZMMTkuMTQ1OCAxOC4zNTQ0QzE5LjQxNjUgMTkuNTM4NiAxOS4zNjU4IDIwLjg3MTcgMTguMzgyMiAyMS41OTQ3QzE3LjM5NDQgMjIuMzIwOCAxNi4xMDk0IDIxLjk2MTkgMTUuMDY4NSAyMS4zNDJMMTIuMzc3NiAxOS43MzU4QzEyLjMyNzEgMTkuNzA1NyAxMi4xOTQyIDE5LjY1OTQgMTIuMDAyNiAxOS42NTk0QzExLjgxNDEgMTkuNjU5NCAxMS42NzY0IDE5LjcwNDEgMTEuNjE2NCAxOS43Mzg1TDExLjYxNDQgMTkuNzM5N0w4LjkzMDggMjEuMzQxNUM3Ljg4OTY5IDIxLjk2NDIgNi42MDYzMiAyMi4zMTcyIDUuNjE5MyAyMS41OTExQzQuNjM3MDcgMjAuODY4NSA0LjU4MDc0IDE5LjUzOTMgNC44NTI2NiAxOC4zNTQ0TDUuNDkwNDEgMTUuNTc0MUM1LjUwMzk2IDE1LjUxMDQgNS41MDY0NCAxNS4zNjkgNS40NTU4IDE1LjE5MDZDNS40MDQ0NCAxNS4wMDk3IDUuMzI4MTggMTQuODk1NCA1LjI4ODIzIDE0Ljg1NTFMMy4wNTY5MiAxMi42MDUzQzIuMjc1NzcgMTEuODE3NyAxLjc3MzE5IDEwLjc3ODcgMi4xMDUxMiA5LjczMDY3QzIuNDM4MjUgOC42Nzg4IDMuNDUwNzcgOC4xMjM4NCA0LjU0NTgxIDcuOTM5ODNMNy40MTI4OCA3LjQ1OTU1QzcuNDU0NTkgNy40NTIxIDcuNTczNDMgNy40MDk5OCA3LjcxNTExIDcuMzA0MDZDNy44NTc1NiA3LjE5NzU3IDcuOTMxNTQgNy4wOTU1MiA3Ljk1MDkxIDcuMDU1NjNMNy45NTQ0NyA3LjA0ODNMOS41MzgwMSAzLjg1NTEyTDkuNTM4OTQgMy44NTMyNUMxMC4wNDExIDIuODQ2IDEwLjg3MzQgMiAxMS45OTgxIDJDMTMuMTI0NCAyIDEzLjk1NDcgMi44NDg2MyAxNC40NTI0IDMuODU2OTlaIiBmaWxsPSIjODc4RDlBIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05Ljk0ODU2IDQuNzY1NzlDOS45NDg1NiAzLjIwMzEgMTEuMzU0NSAyIDEyLjkzNTUgMkMxNC41MTY1IDIgMTUuOTE5NyAzLjIwMzA5IDE1LjkxOTcgNC43NjU3OVY1LjA0NzgyTDE5Ljk4ODQgNS4wNDc4MkMyMS4wOTk0IDUuMDQ3ODIgMjEuODg4MSA2LjA1MDA4IDIxLjg4ODEgNy4xNDgyMlYxMS4wNjY1QzIxLjg4ODEgMTEuNjE1NSAyMS40NjcxIDExLjk2MjYgMjAuOTExNiAxMS45NjI2SDE4Ljg2MjlDMTguMzk0NCAxMS45NjI2IDE3LjkwNzYgMTIuNTI0MyAxNy45MDc2IDEyLjk4NzRDMTcuOTA3NiAxMy40NTA1IDE4LjM5NDQgMTMuOTY0NiAxOC44NjI5IDEzLjk2NDZIMjAuOTExNkMyMS42MzczIDEzLjk2NDYgMjEuOTE3NCAxNC40MDk3IDIxLjkxNzQgMTQuOTU4OEwyMiAyMC4wNDkzQzIyIDIxLjE0NzUgMjEuMDk5NCAyMS45MjMxIDE5Ljk4ODQgMjEuOTIzMUgxNC45NDI4QzE0LjM4NzMgMjEuOTIzMSAxMy45MzY5IDIxLjU5MjYgMTMuOTM2OSAyMS4wNDM1VjE4LjgwODdDMTMuOTM2OSAxOC4zNDQyIDEzLjQwNzYgMTcuOTU3NiAxMi45Mzc2IDE3Ljk1NzZDMTIuNDY3NiAxNy45NTc2IDExLjk2NTIgMTguMzQ0MiAxMS45NjUyIDE4LjgwODdWMjEuMDQzNUMxMS45NjUyIDIxLjU5MjYgMTEuNTE0OCAyMS45MjMxIDEwLjk1OTMgMjEuOTIzMUg3LjE0NTU3QzYuMDM0NTcgMjEuOTIzMSA1LjAxMzcyIDIxLjE0NzUgNS4wMTM3MiAyMC4wNDkzVjE1Ljk2NzdINC43NDM2NEMzLjE2NDA4IDE1Ljk2NzcgMiAxNC41NDg3IDIgMTIuOTg3NEMyIDExLjQyNjEgMy4xNjQwNyAxMC4wMDQ5IDQuNzQzNjMgMTAuMDA0OUg0Ljk4MDZWNy4xNTc2OEM0Ljk4MDYgNi4wNTk1NCA2LjAzNDU3IDUuMDQ3ODIgNy4xNDU1NyA1LjA0NzgyTDkuOTQ4NTYgNS4wNDc4MlY0Ljc2NTc5Wk0xMi45MzU1IDQuMDIyODlDMTIuNDY1NSA0LjAyMjg5IDExLjk3MTUgNC41ODMyNyAxMS45NzE1IDUuMDQ3ODJWNi4xNjM1QzExLjk3MTUgNi43MTI1NyAxMS41MjExIDcuMDEwNjYgMTAuOTY1NiA3LjAxMDY2TDYuOTY3NzggNy4wMTA2N1YxMS4zOTU4QzYuOTY3NzggMTEuOTM3NCA2LjQ2OTY1IDExLjk4NzUgNi4xMzk3NSAxMS45ODc1SDQuOTgwNkM0LjUxMjA0IDExLjk4NzUgMy45ODgzNiAxMi41MjQyIDMuOTg4MzYgMTIuOTg3NEMzLjk4ODM2IDEzLjQ1MDUgNC41MTIwNCAxMy45NjQ2IDQuOTgwNiAxMy45NjQ2SDYuMTM5NzVDNi42OTUyNSAxMy45NjQ2IDYuOTY3NzggMTQuNTEyMyA2Ljk2Nzc4IDE1LjA2MTNMNi45Njc3OCAxOS45NDM3SDkuOTUzNTJWMTguODU4NUM5Ljk1MzUyIDE3LjI5NTggMTEuMzU2NiAxNS45Njc3IDEyLjkzNzYgMTUuOTY3N0MxNC41MTg2IDE1Ljk2NzcgMTUuOTIyNCAxNy4yOTU4IDE1LjkyMjQgMTguODU4NVYxOS45NDM3SDE5LjkwNThWMTUuOTUyOUgxOC44NjI5QzE3LjI4MzQgMTUuOTUyOSAxNS45MTk3IDE0LjU0ODcgMTUuOTE5NyAxMi45ODc0QzE1LjkxOTcgMTEuNDI2MSAxNy4zNjU5IDEwLjA4MTcgMTguOTQ1NSAxMC4wODE3SDE5LjkwNThWNy4wMTA2N0wxNC45NzQyIDcuMDEwNjZDMTQuNDE4NyA3LjAxMDY2IDEzLjk2ODQgNi43MTI1NyAxMy45Njg0IDYuMTYzNVY1LjA0NzgyQzEzLjk2ODQgNC41ODMyNyAxMy40MDU1IDQuMDIyODkgMTIuOTM1NSA0LjAyMjg5WiIgZmlsbD0iIzg3OEQ5QSIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3Ljk0OTQgMTMuMjM2QzE4LjAxNjIgMTMuMTc2NyAxOC4wMzkzIDEzLjA4MjMgMTguMDA3NiAxMi45OTg4QzE3Ljk3NTggMTIuOTE1NCAxNy44OTU4IDEyLjg2MDIgMTcuODA2NSAxMi44NjAySDkuNDQ2MjRDOC45NzExNiAxMi44NjAyIDguNTg2MDIgMTIuNDc1MSA4LjU4NjAyIDEyQzguNTg2MDIgMTEuNTI0OSA4Ljk3MTE2IDExLjEzOTggOS40NDYyNCAxMS4xMzk4SDE3LjgwNjVDMTcuODk1OCAxMS4xMzk4IDE3Ljk3NTggMTEuMDg0NiAxOC4wMDc1IDExLjAwMTJDMTguMDM5MyAxMC45MTc3IDE4LjAxNjEgMTAuODIzMyAxNy45NDk0IDEwLjc2NEwxNC40ODY4IDcuNjg2MTFDMTQuMDQ4NSA3LjI5NjUgMTQuMDA5IDYuNjI1MzUgMTQuMzk4NiA2LjE4NzA1QzE0Ljc4ODIgNS43NDg3NCAxNS40NTkzIDUuNzA5MjYgMTUuODk3NiA2LjA5ODg3TDIxLjY0MzYgMTEuMjA2NEMyMS44NzAzIDExLjQwNzkgMjIgMTEuNjk2NyAyMiAxMkMyMiAxMi4zMDMzIDIxLjg3MDMgMTIuNTkyMSAyMS42NDM2IDEyLjc5MzZMMTUuODk3NiAxNy45MDEyQzE1LjQ1OTMgMTguMjkwOCAxNC43ODgyIDE4LjI1MTMgMTQuMzk4NiAxNy44MTNDMTQuMDA5IDE3LjM3NDcgMTQuMDQ4NSAxNi43MDM1IDE0LjQ4NjggMTYuMzEzOUwxNy45NDk0IDEzLjIzNloiIGZpbGw9IiM4MTg2OTkiLz4KPHBhdGggZD0iTTEwLjUwODEgMy4wNjE4M0MxMC41MDgxIDMuNjQ4MjYgMTAuMDMyNyA0LjEyMzY2IDkuNDQ2MjQgNC4xMjM2Nkw1LjE4OTk3IDQuMTIzNjZDNC44ODQyNyA0LjEyMzY2IDQuNjA0NzggNC4yMzc3MiA0LjQwOTY1IDQuNDE5ODRDNC4yMTY2NSA0LjU5OTk4IDQuMTIzNjYgNC44Mjc3OSA0LjEyMzY2IDUuMDQ4MDlMNC4xMjM2NiAxOC45NTE5QzQuMTIzNjYgMTkuMTcyMiA0LjIxNjY1IDE5LjQgNC40MDk2NSAxOS41ODAyQzQuNjA0NzggMTkuNzYyMyA0Ljg4NDI3IDE5Ljg3NjMgNS4xODk5NiAxOS44NzYzSDkuNDQ2MjRDMTAuMDMyNyAxOS44NzYzIDEwLjUwODEgMjAuMzUxNyAxMC41MDgxIDIwLjkzODJDMTAuNTA4MSAyMS41MjQ2IDEwLjAzMjcgMjIgOS40NDYyNCAyMkg1LjE4OTk2QzQuMzY2NjIgMjIgMy41NjM1NyAyMS42OTU0IDIuOTYwNjQgMjEuMTMyN0MyLjM1NTE1IDIwLjU2NzUgMiAxOS43ODQ4IDIgMTguOTUxOVY1LjA0ODA5QzIgNC4yMTUxOCAyLjM1NTE1IDMuNDMyNDYgMi45NjA2NCAyLjg2NzMzQzMuNTYzNTcgMi4zMDQ2IDQuMzY2NjIgMiA1LjE4OTk3IDJIOS40NDYyNEMxMC4wMzI3IDIgMTAuNTA4MSAyLjQ3NTQgMTAuNTA4MSAzLjA2MTgzWiIgZmlsbD0iIzgxODY5OSIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4wMDEyIDE1Ljk5MkMxNC4wMDk1IDE1Ljk5MiAxNS42Mzc2IDE0LjM2MzkgMTUuNjM3NiAxMi4zNTU2QzE1LjYzNzYgMTAuMzQ3MyAxNC4wMDk1IDguNzE5MjYgMTIuMDAxMiA4LjcxOTI2QzkuOTkyOTEgOC43MTkyNiA4LjM2NDg2IDEwLjM0NzMgOC4zNjQ4NiAxMi4zNTU2QzguMzY0ODYgMTQuMzYzOSA5Ljk5MjkxIDE1Ljk5MiAxMi4wMDEyIDE1Ljk5MlpNMTIuMDAxMiAxNC4xNzM4QzEzLjAwNTQgMTQuMTczOCAxMy44MTk0IDEzLjM1OTggMTMuODE5NCAxMi4zNTU2QzEzLjgxOTQgMTEuMzUxNSAxMy4wMDU0IDEwLjUzNzQgMTIuMDAxMiAxMC41Mzc0QzEwLjk5NzEgMTAuNTM3NCAxMC4xODMgMTEuMzUxNSAxMC4xODMgMTIuMzU1NkMxMC4xODMgMTMuMzU5OCAxMC45OTcxIDE0LjE3MzggMTIuMDAxMiAxNC4xNzM4WiIgZmlsbD0iIzgxODY5OSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjE3NzkgNC4xNDY2OUMxMC40OTUgMy4wNTE1NCA5LjAzNTA0IDIuNjcwMTIgNy44OTM0NCAzLjMxMjkxTDYuMzI3ODEgNC4xNjc2MUM1LjYzNTUxIDQuNTQ1MjMgNS4yMzMwMSA1LjIyNzExIDUuMDc0MTIgNS44ODI4N0M0LjkxNTU4IDYuNTM3MjMgNC45NjMyMyA3LjMwODYyIDUuMzQ5MjkgNy45NDYwNkw1LjM0OTk2IDcuOTQ3MTVDNS42NjAwOSA4LjQ1NzU5IDUuNTYzNzQgOC42OTU1NCA1LjUzMDQ3IDguNzUwNjFDNS40ODcxNyA4LjgyMjMgNS4yODM1MyA5LjAzNjQ1IDQuNjM2NzIgOS4wMzY0NUMzLjIxODI0IDkuMDM2NDUgMi4wMDEyMiAxMC4xNTIxIDIuMDAxMjIgMTEuNTkyNVYxMy4xMTgxQzIuMDAxMjIgMTQuNTU4NSAzLjIxODI0IDE1LjY3NDEgNC42MzY3MiAxNS42NzQxQzUuMjgzNTMgMTUuNjc0MSA1LjQ4NzE3IDE1Ljg4ODMgNS41MzA0NyAxNS45NkM1LjU2Mzc0IDE2LjAxNTEgNS42NjAwOSAxNi4yNTMgNS4zNDk5NiAxNi43NjM0TDUuMzQ5MjkgMTYuNzY0NUM0LjU5ODQ0IDE4LjAwNDMgNS4wNjI3NiAxOS41ODkxIDYuMzI3ODEgMjAuMjc4N0w3Ljg5MzQgMjEuMTMzNEM5LjAzNTAxIDIxLjc3NjIgMTAuNDk1IDIxLjM5NDggMTEuMTc3OSAyMC4yOTk3TDExLjE4MzcgMjAuMjkwM0wxMS4yODM0IDIwLjEyNkMxMS41OTAzIDE5LjYyMSAxMS44Nzg0IDE5LjU0MjMgMTIuMDA0NiAxOS41NDIzQzEyLjEyOTUgMTkuNTQyMyAxMi40MTQ2IDE5LjYxOTUgMTIuNzE2NyAyMC4xMjIyTDEyLjcxODggMjAuMTI1NkwxMi44MTg3IDIwLjI5MDNMMTIuODI0NSAyMC4yOTk3QzEzLjUwNzUgMjEuMzk0OCAxNC45Njc0IDIxLjc3NjIgMTYuMTA5MSAyMS4xMzM0TDE3LjY3NDYgMjAuMjc4N0MxOC45NDA5IDE5LjU4ODUgMTkuNDAxNiAxOC4wMTQgMTguNjU1NCAxNi43NjgzTDE4LjY1MjUgMTYuNzYzNEMxOC4zNDI0IDE2LjI1MyAxOC40Mzg3IDE2LjAxNTEgMTguNDcyIDE1Ljk2QzE4LjUxNTMgMTUuODg4MyAxOC43MTg5IDE1LjY3NDEgMTkuMzY1NyAxNS42NzQxQzIwLjc4NDIgMTUuNjc0MSAyMi4wMDEyIDE0LjU1ODUgMjIuMDAxMiAxMy4xMTgxVjExLjU5MjVDMjIuMDAxMiAxMC4xMzczIDIwLjc2ODggOS4wMzY0NSAxOS4zNjU3IDkuMDM2NDVDMTguNzE4OSA5LjAzNjQ1IDE4LjUxNTMgOC44MjIzIDE4LjQ3MiA4Ljc1MDYxQzE4LjQzODcgOC42OTU1NCAxOC4zNDI0IDguNDU3NTkgMTguNjUyNSA3Ljk0NzE1TDE4LjY1MzEgNy45NDYwNkMxOS4wMzkyIDcuMzA4NjIgMTkuMDg2OSA2LjUzNzIzIDE4LjkyODMgNS44ODI4N0MxOC43Njk0IDUuMjI3MTIgMTguMzY3NCA0LjU0NTQ5IDE3LjY3NTEgNC4xNjc4OEwxNi4xMDkgMy4zMTI5MkMxNC45Njc0IDIuNjcwMTIgMTMuNTA3NSAzLjA1MTUzIDEyLjgyNDUgNC4xNDY2OUwxMi44MTg3IDQuMTU2MUwxMi43MTkgNC4zMjA0QzEyLjQxMjIgNC44MjUzOCAxMi4xMjQgNC45MDQwMyAxMS45OTc4IDQuOTA0MDNDMTEuODcyOSA0LjkwNDAzIDExLjU4NzggNC44MjY4OSAxMS4yODU3IDQuMzI0MjFMMTEuMjgzNyA0LjMyMDhMMTEuMTgzNyA0LjE1NjFMMTEuMTc3OSA0LjE0NjY5Wk04Ljc4MzYgNC44OTgyOUM5LjA3NTI5IDQuNzMyNzQgOS40NjIwOSA0LjgzNTgxIDkuNjMyOTQgNS4xMDUyNEw5LjcyODM4IDUuMjYyNTFDMTAuMjQ0MSA2LjExOTc3IDExLjAzOTggNi43MjIyMiAxMS45OTc4IDYuNzIyMjJDMTIuOTU1MiA2LjcyMjIyIDEzLjc1MjggNi4xMjA0MiAxNC4yNzI5IDUuMjY0NDlMMTQuMzY5NSA1LjEwNTI2QzE0LjU0MDMgNC44MzU4MiAxNC45MjcxIDQuNzMyNzMgMTUuMjE4OCA0Ljg5ODI5TDE1LjIzMiA0LjkwNTU5TDE2LjgwMzkgNS43NjM3NEMxNi45MzgyIDUuODM2OTMgMTcuMDkwOCA2LjAxOTk4IDE3LjE2MTMgNi4zMTEwMUMxNy4yMzIxIDYuNjAzMTkgMTcuMTg0NSA2Ljg2MDc3IDE3LjA5ODMgNy4wMDM1OUMxNi41ODE4IDcuODUzOTUgMTYuNDA4NCA4Ljg1MDk3IDE2LjkxNTcgOS42OTA3MkMxNy40MTMgMTAuNTE0IDE4LjM2NzkgMTAuODU0NiAxOS4zNjU3IDEwLjg1NDZDMTkuODUyNiAxMC44NTQ2IDIwLjE4MyAxMS4yMjczIDIwLjE4MyAxMS41OTI1VjEzLjExODFDMjAuMTgzIDEzLjQ4MDcgMTkuODU1NCAxMy44NTYgMTkuMzY1NyAxMy44NTZDMTguMzY3OSAxMy44NTYgMTcuNDEzIDE0LjE5NjYgMTYuOTE1NyAxNS4wMTk5QzE2LjQwODkgMTUuODU4OCAxNi41ODE1IDE2Ljg1NDYgMTcuMDk2NyAxNy43MDQ0QzE3LjI5NDIgMTguMDM2MiAxNy4xOTEyIDE4LjQ3MTUgMTYuODA0NCAxOC42ODI0TDE1LjIzMiAxOS41NDA4TDE1LjIxODggMTkuNTQ4MUMxNC45MjcyIDE5LjcxMzYgMTQuNTQwMyAxOS42MTA1IDE0LjM2OTUgMTkuMzQxMUwxNC4yNzUyIDE5LjE4NTdMMTQuMjc0IDE5LjE4MzhDMTMuNzU4MyAxOC4zMjY2IDEyLjk2MjYgMTcuNzI0MSAxMi4wMDQ2IDE3LjcyNDFDMTEuMDQ3MyAxNy43MjQxIDEwLjI0OTYgMTguMzI1OSA5LjcyOTU4IDE5LjE4MTlMOS42MzI5MyAxOS4zNDExQzkuNDYyMDggMTkuNjEwNSA5LjA3NTI4IDE5LjcxMzYgOC43ODM2IDE5LjU0ODFMOC43NzA0OCAxOS41NDA4TDcuMTk4NTQgMTguNjgyNkM2LjgwOTk5IDE4LjQ3MDggNi43MTA0MSAxOC4wMjczIDYuOTA0MjkgMTcuNzA2OEM3LjQyMDY1IDE2Ljg1NjUgNy41OTM5NyAxNS44NTk1IDcuMDg2NzUgMTUuMDE5OUM2LjU4OTQyIDE0LjE5NjYgNS42MzQ1NSAxMy44NTYgNC42MzY3MiAxMy44NTZDNC4xNDcwNyAxMy44NTYgMy44MTk0IDEzLjQ4MDcgMy44MTk0IDEzLjExODFWMTEuNTkyNUMzLjgxOTQgMTEuMjI5OSA0LjE0NzA3IDEwLjg1NDYgNC42MzY3MiAxMC44NTQ2QzUuNjM0NTUgMTAuODU0NiA2LjU4OTQyIDEwLjUxNCA3LjA4Njc1IDkuNjkwNzFDNy41OTQxMiA4Ljg1MDggNy40MjA1NCA3Ljg1MzUzIDYuOTAzODEgNy4wMDMwNkw2LjEyNjg5IDcuNDc1MTFMNi45MDQ0OCA3LjAwNDE2QzYuODE4MDUgNi44NjE0NSA2Ljc3MDI5IDYuNjAzNTcgNi44NDExOCA2LjMxMTAxQzYuOTExNjkgNi4wMTk5OCA3LjA2Mzc5IDUuODM3MTkgNy4xOTgwNSA1Ljc2NDAxTDguNzcwNDggNC45MDU1OUw4Ljc4MzYgNC44OTgyOVoiIGZpbGw9IiM4MTg2OTkiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC4zNDgzIDE0LjU5ODhIMTMuNzQxM0MxNC4yNzA3IDE0LjU5ODggMTQuNzA0NCAxNC4xNjUgMTQuNzA0NCAxMy42MzU3VjEzLjMzNzZDMTQuNzA0NCAxMi44MDgyIDE0LjI3MDcgMTIuMzc0NSAxMy43NDEzIDEyLjM3NDVIMTAuMzQ4M0M5LjgxNzggMTIuMzc0NSA5LjM4NTE4IDEyLjgwODIgOS4zODUxOCAxMy4zMzc2VjEzLjYzNTdDOS4zODUxOCAxNC4xNjUgOS44MTc4IDE0LjU5ODggMTAuMzQ4MyAxNC41OTg4Wk0xOC44NjM0IDE4LjY4MkMxOC44NjM0IDE5LjI5NDggMTguMTgxMiAxOS45MDI2IDE3LjU2NzMgMTkuOTAyNkg2LjQ0NTk4QzUuODMzMiAxOS45MDI2IDUuMTU4MjMgMTkuMjk0OCA1LjE1ODIzIDE4LjY4MlY4LjMwODgySDE4Ljg2MzRWMTguNjgyWk01LjMzMzg1IDQuMDc3NTRIMTguNjc5NUMxOS4yOTM0IDQuMDc3NTQgMTkuNzA4IDQuNTQ0MDkgMTkuNzA4IDUuMTU2ODhDMTkuNzA4IDUuNzY5NjcgMTkuMjkzNCA2LjI3MjcyIDE4LjY3OTUgNi4yNzI3Mkg1LjMzMzg1QzQuNzIxMDYgNi4yNzI3MiA0LjM2MjMgNS43Njk2NyA0LjM2MjMgNS4xNTY4OEM0LjM2MjMgNC41NDQwOSA0LjcyMTA2IDQuMDc3NTQgNS4zMzM4NSA0LjA3NzU0Wk0yMi4wMDEyIDUuMTU2ODhDMjIuMDAxMiAzLjMxNzQxIDIwLjUxOSAyIDE4LjY3OTUgMkg1LjMzMzg1QzMuNDk0MzcgMiAyLjAwMTIxIDMuMzE3NDEgMi4wMDEyMSA1LjE1Njg4QzIuMDAxMjEgNi4xMzg5IDIuMzg1NjMgNy4xOTM5NCAzLjA2MjkyIDcuODA1NjFWMTguNjgyM0MzLjA2MjkyIDIwLjUyMTggNC42MDY1MSAyMi4wMTg0IDYuNDQ1OTggMjIuMDE4NEgxNy41NjczQzE5LjQwNjggMjIuMDE4NCAyMC45NTQgMjAuNTIxNSAyMC45NTQgMTguNjgyVjcuODA1MzVDMjEuNjMxMyA3LjE5MzY4IDIyLjAwMTIgNi4xMzg5IDIyLjAwMTIgNS4xNTY4OFoiIGZpbGw9IiM4NzhEOUEiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjQ2NzExIDkuNTUyMThDNi44NTc2MyA5LjE2MTY2IDcuNDkwOCA5LjE2MTY2IDcuODgxMzIgOS41NTIxOEM4LjI3MTg1IDkuOTQyNzEgOC4yNzE4NSAxMC41NzU5IDcuODgxMzIgMTAuOTY2NEw1LjA2NzA4IDEzLjc4MDZDMy42NDQzMiAxNS4yMDM0IDMuNjQ0MzIgMTcuNTEwMSA1LjA2NzA4IDE4LjkzMjlDNi40ODk4NCAyMC4zNTU3IDguNzk2NTggMjAuMzU1NyAxMC4yMTkzIDE4LjkzMjlMMTMuMDMzNiAxNi4xMTg3QzEzLjQyNDEgMTUuNzI4MSAxNC4wNTczIDE1LjcyODEgMTQuNDQ3OCAxNi4xMTg3QzE0LjgzODMgMTYuNTA5MiAxNC44MzgzIDE3LjE0MjMgMTQuNDQ3OCAxNy41MzI5TDExLjYzMzUgMjAuMzQ3MUM5LjQyOTc0IDIyLjU1MDkgNS44NTY2NyAyMi41NTA5IDMuNjUyODYgMjAuMzQ3MUMxLjQ0OTA1IDE4LjE0MzMgMS40NDkwNSAxNC41NzAyIDMuNjUyODYgMTIuMzY2NEw2LjQ2NzExIDkuNTUyMThaTTE2LjExNzIgMTMuMDM1QzE1LjcyNjcgMTMuNDI1NSAxNS43MjY3IDE0LjA1ODcgMTYuMTE3MiAxNC40NDkyQzE2LjUwNzggMTQuODM5OCAxNy4xNDA5IDE0LjgzOTggMTcuNTMxNCAxNC40NDkyTDIwLjM0NzIgMTEuNjMzNUMyMi41NTEgOS40Mjk3MiAyMi41NTEgNS44NTY2NCAyMC4zNDcyIDMuNjUyODNDMTguMTQzMyAxLjQ0OTAyIDE0LjU3MDMgMS40NDkwMiAxMi4zNjY1IDMuNjUyODNMOS41NTA3NSA2LjQ2ODU0QzkuMTYwMjIgNi44NTkwNiA5LjE2MDIzIDcuNDkyMjMgOS41NTA3NSA3Ljg4Mjc1QzkuOTQxMjcgOC4yNzMyOCAxMC41NzQ0IDguMjczMjggMTAuOTY1IDcuODgyNzVMMTMuNzgwNyA1LjA2NzA0QzE1LjIwMzQgMy42NDQyOCAxNy41MTAyIDMuNjQ0MjggMTguOTMyOSA1LjA2NzA0QzIwLjM1NTcgNi40ODk4IDIwLjM1NTcgOC43OTY1NSAxOC45MzI5IDEwLjIxOTNMMTYuMTE3MiAxMy4wMzVaTTguNzIyMDkgMTMuODY2MUM4LjMzMTU3IDE0LjI1NjcgOC4zMzE1NyAxNC44ODk4IDguNzIyMDkgMTUuMjgwM0M5LjExMjYyIDE1LjY3MDkgOS43NDU3OCAxNS42NzA5IDEwLjEzNjMgMTUuMjgwM0wxNC43NjI5IDEwLjY1MzhDMTUuMTUzNCAxMC4yNjMzIDE1LjE1MzQgOS42MzAxIDE0Ljc2MjkgOS4yMzk1OEMxNC4zNzIzIDguODQ5MDUgMTMuNzM5MiA4Ljg0OTA1IDEzLjM0ODcgOS4yMzk1OEw4LjcyMjA5IDEzLjg2NjFaIiBmaWxsPSIjODE4Njk5Ii8+Cjwvc3ZnPgo=\"","import play from '../images/page-header/links/play.svg';\nimport catalog from '../images/page-header/links/catalog.svg';\nimport pricing from '../images/page-header/links/pricing.svg';\nimport learnMore from '../images/page-header/links/learn_more.svg';\nimport solutions from '../images/page-header/links/solutions.svg';\nimport quizzes from '../images/page-header/links/quizzes.svg';\nimport logoutIcon from '../images/page-header/icons/logout_icon.svg';\nimport profileIcon from '../images/page-header/icons/profile_icon.svg';\nimport archiveIcon from '../images/page-header/icons/archive_icon.svg';\nimport linksIcon from '../images/page-header/icons/links_icon.svg';\nimport helpCenter from '../images/page-header/links/help_center.svg';\nimport { MainMenuSchemeModel } from '../components/main-menu/types';\nimport { MANAGE_SITE_URL, GAME_SITE_URL, MAIN_SITE_URL } from 'gatsby-env-variables-fork';\nimport { Translate } from '../locales/locales-utils';\n\nexport const mainMenuUsScheme: MainMenuSchemeModel = {\n links: [\n {\n name: 'Play', \n href: `${GAME_SITE_URL}`,\n imageSrc: play,\n isAuthorized: true,\n },\n {\n name: \"I'm a Player\",\n href: `${GAME_SITE_URL}`,\n imageSrc: play,\n isAuthorized: false,\n },\n {\n name: 'Pricing',\n href: '/pricing/',\n imageSrc: pricing,\n isCommon: true,\n },\n {\n name: 'Solutions',\n imageSrc: solutions,\n isMenuOpen: false,\n isCommon: true,\n subLinks: [\n {\n name: 'Team building',\n href: '/team-building/',\n imageSrc: '',\n },\n {\n name: 'Brand promotion',\n href: '/brand-promotion/',\n imageSrc: '',\n },\n {\n name: 'Lead generation',\n href: '/lead-generation/',\n imageSrc: '',\n },\n {\n name: 'Private event',\n href: '/private-event/',\n imageSrc: '',\n },\n {\n name: 'Sports/eSports',\n href: '/sport/',\n imageSrc: '',\n },\n {\n name: 'Training/Webinar',\n href: '/training/',\n imageSrc: '',\n },\n {\n name: 'Education/eLearning',\n href: '/education/',\n imageSrc: '',\n },\n {\n name: 'Fundraising',\n href: '/fundraising/',\n imageSrc: '',\n },\n {\n name: 'Branding',\n href: '/branding/',\n imageSrc: '',\n },\n {\n name: 'Advertising',\n href: '/ad/',\n imageSrc: '',\n },\n {\n name: 'Enterprise',\n href: '/enterprise/',\n imageSrc: '',\n },\n {\n name: 'Investors',\n href: '/investors/',\n imageSrc: '',\n },\n {\n name: 'Dance',\n href: '/dance/',\n imageSrc: '',\n }\n ],\n },\n {\n name: 'My quizzes',\n href: `${MANAGE_SITE_URL}/Lectures`,\n imageSrc: quizzes,\n isAuthorized: true,\n },\n {\n name: 'Marketplace',\n href: '/marketplace/',\n imageSrc: catalog,\n isCommon: true,\n },\n {\n name: 'Learn more',\n imageSrc: learnMore,\n isMenuOpen: false,\n isCommon: true,\n subLinks: [\n {\n name: 'Blog',\n href: 'https://www.blog.myquiz.org/',\n imageSrc: '',\n },\n {\n name: 'Help Center',\n href: 'https://help.myquiz.org/',\n imageSrc: '',\n },\n {\n name: 'Contact us',\n href: '/contacts/',\n imageSrc: '',\n },\n ],\n },\n ],\n profileMenuLinks: [\n {\n name: 'Settings',\n href: `${MANAGE_SITE_URL}/Account/UserProfile`,\n imageSrc: profileIcon,\n },\n {\n name: 'Archive',\n href: `${MANAGE_SITE_URL}/Archive`,\n imageSrc: archiveIcon,\n },\n {\n name: 'Links',\n href: `${MANAGE_SITE_URL}/Links`,\n imageSrc: linksIcon,\n },\n {\n name: 'Logout',\n href: `${MANAGE_SITE_URL}/Account/LogOff?RedirectUrl=${MAIN_SITE_URL}`,\n imageSrc: logoutIcon,\n },\n ],\n};\n\nexport const mainMenuRuScheme = (): MainMenuSchemeModel => {\n return {\n links: [\n {\n name: Translate('MainMenu.Play'), \n href: `${GAME_SITE_URL}`,\n imageSrc: play,\n isAuthorized: true,\n },\n {\n name: Translate('MainMenu.IamPlayer'),\n href: `${GAME_SITE_URL}`,\n imageSrc: play,\n isAuthorized: false,\n },\n {\n name: Translate('MainMenu.Pricing'),\n href: '/pricing/',\n imageSrc: pricing,\n isCommon: true,\n },\n {\n name: Translate('MainMenu.Solutions.Name'),\n imageSrc: solutions, \n isMenuOpen: false,\n isCommon: true,\n subLinks: [\n {\n name: Translate('MainMenu.Solutions.SubLinks.TeamBuilding'),\n href: '/team-building/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.BrandPromotion'),\n href: '/brand-promotion/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.LeadGeneration'),\n href: '/lead-generation/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.PrivateEvent'),\n href: '/private-event/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Sport'),\n href: '/sport/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Training'),\n href: '/training/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Education'),\n href: '/education/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Events'),\n href: '/events/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Branding'),\n href: '/branding/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Promo'),\n href: '/promo/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Investors'),\n href: '/investors/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.Solutions.SubLinks.Dance'),\n href: '/dance/',\n imageSrc: '',\n }\n ],\n },\n {\n name: Translate('MainMenu.Quizzes'),\n href: `${MANAGE_SITE_URL}/Lectures`,\n imageSrc: quizzes,\n isAuthorized: true,\n },\n {\n name: Translate('MainMenu.CatalogOfQuizzes.Name'), \n imageSrc: catalog,\n isCommon: true, \n subLinks: [ \n {\n name: Translate('MainMenu.CatalogOfQuizzes.SubLinks.CatalogOfMyQuiz'),\n href: '/community/myquiz/',\n imageSrc: '',\n },\n {\n name: Translate('MainMenu.CatalogOfQuizzes.SubLinks.CatalogOfCommunity'),\n href: '/community/',\n imageSrc: '',\n },\n ],\n },\n {\n name: Translate('MainMenu.HelpCenter'),\n href: 'https://myquiz.yonote.ru/share/help',\n imageSrc: helpCenter,\n isCommon: true,\n target: '_blank'\n },\n ],\n profileMenuLinks: [\n {\n name: Translate('MainMenu.Settings'),\n href: `${MANAGE_SITE_URL}/Account/UserProfile`,\n imageSrc: profileIcon,\n },\n {\n name: Translate('MainMenu.Archive'),\n href: `${MANAGE_SITE_URL}/Archive`,\n imageSrc: archiveIcon,\n },\n {\n name: Translate('MainMenu.Links'),\n href: `${MANAGE_SITE_URL}/Links`,\n imageSrc: linksIcon,\n },\n {\n name: Translate('MainMenu.Logout'),\n href: `${MANAGE_SITE_URL}/Account/LogOff?RedirectUrl=${MAIN_SITE_URL}`,\n imageSrc: logoutIcon,\n },\n ],\n }\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuMDAxMjIgMTJDOS41NTM1IDEyIDEwLjAwMTIgMTEuNTUyMyAxMC4wMDEyIDExQzEwLjAwMTIgMTAuNDQ3NyA5LjU1MzUgMTAgOS4wMDEyMiAxMEM4LjQ0ODk0IDEwIDguMDAxMjIgMTAuNDQ3NyA4LjAwMTIyIDExQzguMDAxMjIgMTEuNTUyMyA4LjQ0ODk0IDEyIDkuMDAxMjIgMTJaIiBmaWxsPSIjODE4Njk5Ii8+CjxwYXRoIGQ9Ik0xMi4wMDEyIDEyQzEyLjU1MzUgMTIgMTMuMDAxMiAxMS41NTIzIDEzLjAwMTIgMTFDMTMuMDAxMiAxMC40NDc3IDEyLjU1MzUgMTAgMTIuMDAxMiAxMEMxMS40NDg5IDEwIDExLjAwMTIgMTAuNDQ3NyAxMS4wMDEyIDExQzExLjAwMTIgMTEuNTUyMyAxMS40NDg5IDEyIDEyLjAwMTIgMTJaIiBmaWxsPSIjODE4Njk5Ii8+CjxwYXRoIGQ9Ik0xNi4wMDEyIDExQzE2LjAwMTIgMTEuNTUyMyAxNS41NTM1IDEyIDE1LjAwMTIgMTJDMTQuNDQ4OSAxMiAxNC4wMDEyIDExLjU1MjMgMTQuMDAxMiAxMUMxNC4wMDEyIDEwLjQ0NzcgMTQuNDQ4OSAxMCAxNS4wMDEyIDEwQzE1LjU1MzUgMTAgMTYuMDAxMiAxMC40NDc3IDE2LjAwMTIgMTFaIiBmaWxsPSIjODE4Njk5Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOC40MDEyMiAyQzYuNDQ3ODMgMiA0Ljc5ODk2IDIuNDg3NDYgMy42NDUxNyAzLjYzNzhDMi40OTA4NCA0Ljc4ODY4IDIuMDAxMjIgNi40MzQzMyAyLjAwMTIyIDguMzgzODVWMTIuODcwNEMyLjAwMTIyIDE1LjIwMDYgMi40NTk5OCAxNi45MjE5IDMuNjkzODMgMTcuOTk4M0M0Ljg5MzcxIDE5LjA0NTEgNi41ODM4OSAxOS4yNTQyIDguNDAxMjIgMTkuMjU0Mkg4LjgwMTI2TDguODAyNTggMTkuMjU0OUwxMC4xMjIxIDIxLjAwODlDMTAuNTgwNyAyMS42MTg2IDExLjI1MjcgMjIgMTIuMDAxMiAyMkMxMi43NDk3IDIyIDEzLjQyMTcgMjEuNjE4NiAxMy44ODA0IDIxLjAwODlMMTUuMjAwMyAxOS4yNTQySDE1LjYwMTJDMTcuNTU0NiAxOS4yNTQyIDE5LjIwMzUgMTguNzY2OCAyMC4zNTczIDE3LjYxNjRDMjEuNTExNiAxNi40NjU2IDIyLjAwMTIgMTQuODE5OSAyMi4wMDEyIDEyLjg3MDRWOC4zODM4NUMyMi4wMDEyIDYuNDM0MzMgMjEuNTExNiA0Ljc4ODY4IDIwLjM1NzMgMy42Mzc4QzE5LjIwMzUgMi40ODc0NiAxNy41NTQ2IDIgMTUuNjAxMiAySDguNDAxMjJaTTQuMDAxMjIgOC4zODM4NUM0LjAwMTIyIDYuNzQ0MTMgNC40MTE2IDUuNjk3ODYgNS4wNTcyNyA1LjA1NDEzQzUuNzAzNDggNC40MDk4NCA2Ljc1NDYxIDQgOC40MDEyMiA0SDE1LjYwMTJDMTcuMjQ3OCA0IDE4LjI5OSA0LjQwOTg0IDE4Ljk0NTIgNS4wNTQxM0MxOS41OTA4IDUuNjk3ODYgMjAuMDAxMiA2Ljc0NDEzIDIwLjAwMTIgOC4zODM4NVYxMi44NzA0QzIwLjAwMTIgMTQuNTEwMSAxOS41OTA4IDE1LjU1NjQgMTguOTQ1MiAxNi4yMDAxQzE4LjI5OSAxNi44NDQ0IDE3LjI0NzggMTcuMjU0MiAxNS42MDEyIDE3LjI1NDJIMTUuMTUxMkMxNC41NTYyIDE3LjI1NDIgMTMuOTkzNiAxNy41Mzc3IDEzLjYzNTkgMTguMDA2OUwxMy42MzIxIDE4LjAxMkwxMi4yODIxIDE5LjgwNjZDMTIuMTQ2NyAxOS45ODY2IDEyLjAzNTcgMjAgMTIuMDAxMiAyMEMxMS45NjY3IDIwIDExLjg1NTcgMTkuOTg2NiAxMS43MjA0IDE5LjgwNjZMMTAuMzczNiAxOC4wMTYzQzEwLjE3NzYgMTcuNzUxIDkuOTEyNzkgMTcuNTcyNiA5LjY5MTQzIDE3LjQ2MzJDOS40NjYzNiAxNy4zNTIgOS4xNjkyMSAxNy4yNTQyIDguODUxMjIgMTcuMjU0Mkg4LjQwMTIyQzYuNjE4NTUgMTcuMjU0MiA1LjYwODc0IDE3LjAxNDggNS4wMDg2MSAxNi40OTEyQzQuNDQyNDYgMTUuOTk3MyA0LjAwMTIyIDE1LjAyNjcgNC4wMDEyMiAxMi44NzA0VjguMzgzODVaIiBmaWxsPSIjODE4Njk5Ii8+Cjwvc3ZnPgo=\"","import { getDomain } from \"./getDomain\";\n\nconst isWindowReady = typeof window !== \"undefined\";\n\nexport const setCookie = (name: string, value: string, days: number, isSupercookie: boolean = false) => {\n if (isWindowReady) {\n const expires = new Date();\n expires.setDate(expires.getDate() + days);\n document.cookie = `${name}=${value};${\n isSupercookie ? `domain=${getDomain()};` : ''\n }expires=${expires.toUTCString()};path=/`;\n }\n}\n\nexport const getCookie = (name: string) => {\n if (isWindowReady) {\n const cookieName = name + \"=\";\n const decodedCookie = decodeURIComponent(document.cookie);\n const cookieArray = decodedCookie.split(';');\n\n for (let i = 0; i < cookieArray.length; i++) {\n let cookie = cookieArray[i].trim();\n if (cookie.indexOf(cookieName) === 0) {\n return cookie.substring(cookieName.length, cookie.length);\n }\n }\n }\n\n return null;\n}\n","export const getDomain = () => {\n const host = window.location.hostname;\n\n if (host.toLowerCase() === 'localhost') {\n return host;\n }\n\n const ipRegEx = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$/;\n\n if (ipRegEx.test(host)) {\n return host;\n }\n\n const hostArray = host.split('.');\n\n if (hostArray.length === 1) {\n return host;\n }\n\n if (hostArray.length > 1) {\n return '.' + hostArray[hostArray.length - 2] + '.' + hostArray[hostArray.length - 1];\n }\n\n return host;\n};\n","/* eslint-disable import/no-anonymous-default-export */\n\nimport React, {\n JSXElementConstructor,\n ReactElement,\n useState,\n useEffect,\n} from \"react\";\nimport { MainMenu } from \"../components/main-menu/main-menu\";\nimport { mainMenuUsScheme, mainMenuRuScheme } from \"./mainMenuScheme\";\n\nimport { NODE_LOCATION } from \"gatsby-env-variables-fork\";\nimport { useAuthData } from \"../auth/useAuthData\";\nimport { setCurrentLng } from \"../locales/locales-utils\";\nimport { getCurrentLang } from \"../locales/locales-utils\";\nimport { getCookie, setCookie } from \"../helpers/cookiesHelper\";\nimport { AuthProvider } from \"../auth/authContext\";\nimport { useBackendSettings } from \"./useBackendSettings\";\nimport { LinkModel, MainMenuSchemeModel } from \"../components/main-menu/types\";\n\ninterface Props {\n children: ReactElement>;\n pageContext: Record;\n}\n\nexport default (props: Props) => {\n const { children, pageContext } = props;\n const { language } = pageContext;\n const { authData } = useAuthData();\n const [lang, setLang] = useState(\"\");\n\n const actualLanguage = getCookie(\"lang\");\n const isRuActualLanguage = actualLanguage && actualLanguage === \"ru\";\n\n const isRuLocation =\n NODE_LOCATION === \"ru\" &&\n (!language || language === \"ru\" || getCurrentLang() === \"ru\");\n\n const settings = useBackendSettings();\n\n let mainMenuScheme = isRuLocation ? mainMenuRuScheme() : mainMenuUsScheme;\n\n if (settings?.isBillingEnabled === false) {\n mainMenuScheme.links = hidePricingPage(mainMenuScheme);\n }\n \n const currentLang =\n isRuLocation && (!actualLanguage || isRuActualLanguage) ? \"ru\" : \"en\";\n\n useEffect(() => {\n setLang(currentLang);\n setCookie(\"lang\", currentLang, 365, true);\n }, [currentLang]);\n\n const handleChangeLanguage = (language: string) => {\n setCurrentLng(language);\n setLang(language);\n setCookie(\"lang\", language, 365, true);\n };\n\n return (\n <>\n \n \n
{React.cloneElement(children, { lang: lang })}
\n
\n \n );\n};\n\nconst hidePricingPage = (mainMenuScheme: MainMenuSchemeModel): LinkModel[] => {\n return mainMenuScheme.links.filter(item => item.href !== '/pricing/');\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { API_SERVER_URL } from 'gatsby-env-variables-fork';\nimport { AuthModel } from './authContext';\n\nexport const useAuthData = () => {\n const [authData, setAuthData] = useState({isDataFetching: true} as AuthModel);\n const [isLoading, setIsLoading] = useState(true);\n\n const getAuthData = async () => {\n setAuthData({...authData, isDataFetching: true});\n try {\n const response = await fetch(`${API_SERVER_URL}/api/auth/me`, {\n credentials: 'include',\n referrer: '/',\n cache: 'no-cache',\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n const data = await response.json();\n\n if (data) {\n setAuthData({...data, isDataFetching: false});\n }\n } catch (error) {\n console.error(error);\n } finally {\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n getAuthData();\n }, []);\n\n return { isLoading, authData };\n};\n","const apiUrls = {\n getAnnouncements: \"/api/announcements/getannouncements/\",\n quizValidation: \"/api/quiz/validate-code/\",\n getUserBillingDetails: \"/api/pricing/user-billing-details\",\n checkoutSession: \"/api/checkout/session\",\n getAppSettings: \"/api/appsettings/info\"\n};\n\nexport default apiUrls;\n","import { useState, useEffect } from \"react\";\n\nimport { API_SERVER_URL } from 'gatsby-env-variables-fork';\nimport apiUrls from \"../apiUrls\";\n\nconst url = typeof window !== 'undefined' ? `${API_SERVER_URL}${apiUrls.getAppSettings}` : '';\n\ninterface IBackendApplicationSettings {\n isBillingEnabled: boolean;\n needConfirmUserAgreement: boolean;\n}\n\nexport const useBackendSettings = () => {\n const [settings, setSettings] = useState(\n null\n );\n\n useEffect(() => {\n (async () => {\n try {\n const response = await fetch(url, {\n credentials: \"include\",\n referrer: \"/\",\n cache: \"no-cache\",\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n const data = await response.json();\n setSettings(data);\n } catch (err) {\n console.log(err);\n }\n })();\n }, []);\n\n return settings;\n};\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}","import \"core-js/modules/es.array.sort.js\";\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\nfunction ownKeys$6(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 _objectSpread$6(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nfunction ownKeys$5(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 _objectSpread$5(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _createSuper$3(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$3();\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 _isNativeReflectConstruct$3() {\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}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\nfunction ownKeys$4(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 _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _createSuper$2(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$2();\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 _isNativeReflectConstruct$2() {\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}\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\nfunction ownKeys$3(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 _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\nfunction ownKeys$2(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 _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\nfunction ownKeys$1(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 _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\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 _isNativeReflectConstruct$1() {\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 removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\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 _objectSpread(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 _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 _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 noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import e from \"void-elements\";\nvar t = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;\nfunction n(n) {\n var r = {\n type: \"tag\",\n name: \"\",\n voidElement: !1,\n attrs: {},\n children: []\n },\n i = n.match(/<\\/?([^\\s]+?)[/\\s>]/);\n if (i && (r.name = i[1], (e[i[1]] || \"/\" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith(\"!--\"))) {\n var s = n.indexOf(\"--\\x3e\");\n return {\n type: \"comment\",\n comment: -1 !== s ? n.slice(4, s) : \"\"\n };\n }\n for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) if (c[0].trim()) if (c[1]) {\n var o = c[1].trim(),\n l = [o, \"\"];\n o.indexOf(\"=\") > -1 && (l = o.split(\"=\")), r.attrs[l[0]] = l[1], a.lastIndex--;\n } else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));\n return r;\n}\nvar r = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,\n i = /^\\s*$/,\n s = Object.create(null);\nfunction a(e, t) {\n switch (t.type) {\n case \"text\":\n return e + t.content;\n case \"tag\":\n return e += \"<\" + t.name + (t.attrs ? function (e) {\n var t = [];\n for (var n in e) t.push(n + '=\"' + e[n] + '\"');\n return t.length ? \" \" + t.join(\" \") : \"\";\n }(t.attrs) : \"\") + (t.voidElement ? \"/>\" : \">\"), t.voidElement ? e : e + t.children.reduce(a, \"\") + \"\";\n case \"comment\":\n return e + \"\\x3c!--\" + t.comment + \"--\\x3e\";\n }\n}\nvar c = {\n parse: function parse(e, t) {\n t || (t = {}), t.components || (t.components = s);\n var a,\n c = [],\n o = [],\n l = -1,\n m = !1;\n if (0 !== e.indexOf(\"<\")) {\n var u = e.indexOf(\"<\");\n c.push({\n type: \"text\",\n content: -1 === u ? e : e.substring(0, u)\n });\n }\n return e.replace(r, function (r, s) {\n if (m) {\n if (r !== \"\") return;\n m = !1;\n }\n var u,\n f = \"/\" !== r.charAt(1),\n h = r.startsWith(\"\\x3c!--\"),\n p = s + r.length,\n d = e.charAt(p);\n if (h) {\n var v = n(r);\n return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);\n }\n if (f && (l++, \"tag\" === (a = n(r)).type && t.components[a.name] && (a.type = \"component\", m = !0), a.voidElement || m || !d || \"<\" === d || a.children.push({\n type: \"text\",\n content: e.slice(p, e.indexOf(\"<\", p))\n }), 0 === l && c.push(a), (u = o[l - 1]) && u.children.push(a), o[l] = a), (!f || a.voidElement) && (l > -1 && (a.voidElement || a.name === r.slice(2, -1)) && (l--, a = -1 === l ? c : o[l]), !m && \"<\" !== d && d)) {\n u = -1 === l ? c : o[l].children;\n var x = e.indexOf(\"<\", p),\n g = e.slice(p, -1 === x ? void 0 : x);\n i.test(g) && (g = \" \"), (x > -1 && l + u.length >= 0 || \" \" !== g) && u.push({\n type: \"text\",\n content: g\n });\n }\n }), c;\n },\n stringify: function stringify(e) {\n return e.reduce(function (e, t) {\n return e + a(\"\", t);\n }, \"\");\n }\n};\nexport default c;","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n this.usedNamespaces = {};\n }\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export { Trans } from './Trans.js';\nexport { Trans as TransWithoutContext } from './TransWithoutContext.js';\nexport { useTranslation } from './useTranslation.js';\nexport { withTranslation } from './withTranslation.js';\nexport { Translation } from './Translation.js';\nexport { I18nextProvider } from './I18nextProvider.js';\nexport { withSSR } from './withSSR.js';\nexport { useSSR } from './useSSR.js';\nexport { initReactI18next } from './initReactI18next.js';\nexport { setDefaults, getDefaults } from './defaults.js';\nexport { setI18n, getI18n } from './i18nInstance.js';\nexport { I18nContext, composeInitialProps, getInitialProps } from './context.js';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","import React from \"react\";\nimport i18n from \"i18next\"\nimport { initReactI18next } from \"react-i18next\";\n\nimport * as libraryEn from './en/translation.json';\nimport * as libraryRu from './ru/translation.json';\nimport { NODE_LOCATION } from 'gatsby-env-variables-fork';\n\nconst resources = {\n en: {\n translation: libraryEn\n },\n ru: {\n translation: libraryRu\n }\n};\n\ni18n.use(initReactI18next)\n .use({\n type: \"postProcessor\",\n name: \"formatted-text\",\n process: (value: string) => {\n if (value.match(/^ *html: */)) {\n return (\n \n )\n }\n return value;\n },\n })\n .init({\n postProcess: \"formatted-text\",\n lng: NODE_LOCATION !== 'us' ? \"ru\" : \"en\",\n fallbackLng: NODE_LOCATION !== 'us' ? [\"ru\", \"en\"] : [\"en\"],\n compatibilityJSON: \"v2\",\n resources: resources,\n debug: true,\n interpolation: {\n escapeValue: false\n },\n });\n\nexport { i18n };\n","import React from \"react\";\nimport i18next from \"i18next\";\nimport \"/src/locales/locales-settings\";\n\nexport function Translate(key: any): any {\n return i18next.t(key);\n}\n\nexport function setCurrentLng(code: string): void {\n i18next.changeLanguage(code);\n}\n\nexport function getCurrentLang(): string {\n return i18next.language;\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","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}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./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}\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}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\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}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _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}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\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}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `