{"version":3,"file":"app-3e0e4e57f5f6388b95a9.js","mappings":"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","sources":["webpack://Hectiq.AI/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://Hectiq.AI/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://Hectiq.AI/./node_modules/browser-lang/dist/index.js","webpack://Hectiq.AI/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://Hectiq.AI/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://Hectiq.AI/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://Hectiq.AI/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://Hectiq.AI/./node_modules/i18next/dist/cjs/i18next.js","webpack://Hectiq.AI/./node_modules/outdent/lib-module/index.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/unescape.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/context.js","webpack://Hectiq.AI/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/Trans.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/Translation.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/useSSR.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/withSSR.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/index.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://Hectiq.AI/./node_modules/react-i18next/dist/es/utils.js","webpack://Hectiq.AI/./node_modules/react-is/cjs/react-is.production.min.js","webpack://Hectiq.AI/./node_modules/react-is/index.js","webpack://Hectiq.AI/./node_modules/shallowequal/index.js","webpack://Hectiq.AI/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://Hectiq.AI/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://Hectiq.AI/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://Hectiq.AI/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://Hectiq.AI/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://Hectiq.AI/./node_modules/void-elements/index.js","webpack://Hectiq.AI/./node_modules/core-js/internals/a-callable.js","webpack://Hectiq.AI/./node_modules/core-js/internals/add-to-unscopables.js","webpack://Hectiq.AI/./node_modules/core-js/internals/an-object.js","webpack://Hectiq.AI/./node_modules/core-js/internals/array-includes.js","webpack://Hectiq.AI/./node_modules/core-js/internals/array-species-constructor.js","webpack://Hectiq.AI/./node_modules/core-js/internals/array-species-create.js","webpack://Hectiq.AI/./node_modules/core-js/internals/classof-raw.js","webpack://Hectiq.AI/./node_modules/core-js/internals/classof.js","webpack://Hectiq.AI/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://Hectiq.AI/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://Hectiq.AI/./node_modules/core-js/internals/create-property-descriptor.js","webpack://Hectiq.AI/./node_modules/core-js/internals/define-built-in.js","webpack://Hectiq.AI/./node_modules/core-js/internals/define-global-property.js","webpack://Hectiq.AI/./node_modules/core-js/internals/descriptors.js","webpack://Hectiq.AI/./node_modules/core-js/internals/document-create-element.js","webpack://Hectiq.AI/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://Hectiq.AI/./node_modules/core-js/internals/engine-user-agent.js","webpack://Hectiq.AI/./node_modules/core-js/internals/engine-v8-version.js","webpack://Hectiq.AI/./node_modules/core-js/internals/enum-bug-keys.js","webpack://Hectiq.AI/./node_modules/core-js/internals/export.js","webpack://Hectiq.AI/./node_modules/core-js/internals/fails.js","webpack://Hectiq.AI/./node_modules/core-js/internals/flatten-into-array.js","webpack://Hectiq.AI/./node_modules/core-js/internals/function-bind-context.js","webpack://Hectiq.AI/./node_modules/core-js/internals/function-bind-native.js","webpack://Hectiq.AI/./node_modules/core-js/internals/function-call.js","webpack://Hectiq.AI/./node_modules/core-js/internals/function-name.js","webpack://Hectiq.AI/./node_modules/core-js/internals/function-uncurry-this.js","webpack://Hectiq.AI/./node_modules/core-js/internals/get-built-in.js","webpack://Hectiq.AI/./node_modules/core-js/internals/get-method.js","webpack://Hectiq.AI/./node_modules/core-js/internals/global.js","webpack://Hectiq.AI/./node_modules/core-js/internals/has-own-property.js","webpack://Hectiq.AI/./node_modules/core-js/internals/hidden-keys.js","webpack://Hectiq.AI/./node_modules/core-js/internals/html.js","webpack://Hectiq.AI/./node_modules/core-js/internals/ie8-dom-define.js","webpack://Hectiq.AI/./node_modules/core-js/internals/indexed-object.js","webpack://Hectiq.AI/./node_modules/core-js/internals/inspect-source.js","webpack://Hectiq.AI/./node_modules/core-js/internals/internal-state.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-array.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-callable.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-constructor.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-forced.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-object.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-pure.js","webpack://Hectiq.AI/./node_modules/core-js/internals/is-symbol.js","webpack://Hectiq.AI/./node_modules/core-js/internals/length-of-array-like.js","webpack://Hectiq.AI/./node_modules/core-js/internals/make-built-in.js","webpack://Hectiq.AI/./node_modules/core-js/internals/math-trunc.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-create.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-define-properties.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-define-property.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-keys-internal.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-keys.js","webpack://Hectiq.AI/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://Hectiq.AI/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://Hectiq.AI/./node_modules/core-js/internals/own-keys.js","webpack://Hectiq.AI/./node_modules/core-js/internals/require-object-coercible.js","webpack://Hectiq.AI/./node_modules/core-js/internals/shared-key.js","webpack://Hectiq.AI/./node_modules/core-js/internals/shared-store.js","webpack://Hectiq.AI/./node_modules/core-js/internals/shared.js","webpack://Hectiq.AI/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-absolute-index.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-indexed-object.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-length.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-object.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-primitive.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-property-key.js","webpack://Hectiq.AI/./node_modules/core-js/internals/to-string-tag-support.js","webpack://Hectiq.AI/./node_modules/core-js/internals/try-to-string.js","webpack://Hectiq.AI/./node_modules/core-js/internals/uid.js","webpack://Hectiq.AI/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://Hectiq.AI/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://Hectiq.AI/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://Hectiq.AI/./node_modules/core-js/internals/well-known-symbol.js","webpack://Hectiq.AI/./node_modules/core-js/modules/es.array.flat-map.js","webpack://Hectiq.AI/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://Hectiq.AI/./node_modules/gatsby-react-router-scroll/index.js","webpack://Hectiq.AI/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://Hectiq.AI/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://Hectiq.AI/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://Hectiq.AI/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://Hectiq.AI/./.cache/api-runner-browser-plugins.js","webpack://Hectiq.AI/./.cache/api-runner-browser.js","webpack://Hectiq.AI/./node_modules/mitt/dist/mitt.es.js","webpack://Hectiq.AI/./.cache/emitter.js","webpack://Hectiq.AI/./.cache/normalize-page-path.js","webpack://Hectiq.AI/./.cache/find-path.js","webpack://Hectiq.AI/./.cache/gatsby-browser-entry.js","webpack://Hectiq.AI/./.cache/prefetch.js","webpack://Hectiq.AI/./.cache/loader.js","webpack://Hectiq.AI/./.cache/head/components/fire-callback-in-effect.js","webpack://Hectiq.AI/./.cache/head/constants.js","webpack://Hectiq.AI/./.cache/head/utils.js","webpack://Hectiq.AI/./.cache/head/head-export-handler-for-browser.js","webpack://Hectiq.AI/./.cache/page-renderer.js","webpack://Hectiq.AI/./.cache/route-announcer-props.js","webpack://Hectiq.AI/./.cache/navigation.js","webpack://Hectiq.AI/./node_modules/shallow-compare/es/index.js","webpack://Hectiq.AI/./.cache/ensure-resources.js","webpack://Hectiq.AI/./.cache/production-app.js","webpack://Hectiq.AI/./.cache/public-page-renderer-prod.js","webpack://Hectiq.AI/./.cache/public-page-renderer.js","webpack://Hectiq.AI/./.cache/react-dom-utils.js","webpack://Hectiq.AI/./.cache/react-lifecycles-compat.js","webpack://Hectiq.AI/./.cache/redirect-utils.js","webpack://Hectiq.AI/./.cache/register-service-worker.js","webpack://Hectiq.AI/./.cache/strip-prefix.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-google-gtag-optin/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/gatsby-plugin-styled-components/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/gatsby-remark-images/constants.js","webpack://Hectiq.AI/./node_modules/gatsby-remark-images/gatsby-browser.js","webpack://Hectiq.AI/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://Hectiq.AI/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://Hectiq.AI/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://Hectiq.AI/./node_modules/invariant/browser.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/createClass.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/extends.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/inherits.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/toArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://Hectiq.AI/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://Hectiq.AI/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://Hectiq.AI/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://Hectiq.AI/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0; // TODO(v5): Remove legacy setting and default to \"always\"\n\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n var hasHtmlSuffix = input.endsWith(\".html\");\n var hasXmlSuffix = input.endsWith(\".xml\");\n var hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\"); // Makes sure off-main-thread scripts are loaded in `gatsby develop`\n\n\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\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.\n\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\n\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\n\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;\n\nvar _integration = require(\"@builder.io/partytown/integration\");\n\nvar _getForwards = require(\"./get-forwards\"); // Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\n\n\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n\n if (existingSnippet) {\n existingSnippet.remove();\n }\n\n if (existingSandbox) {\n existingSandbox.remove();\n }\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 * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\n\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\n\nvar _createClass = require('@babel/runtime/helpers/createClass');\n\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\n\nvar _inherits = require('@babel/runtime/helpers/inherits');\n\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\n\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\n\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {\n 'default': e\n };\n}\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\n\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\n\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\n\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\n\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\n\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\n\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\n\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](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\n return target;\n}\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};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass__default['default'](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\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\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\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\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(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\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\n if (!listener) {\n delete this.observers[event];\n return;\n }\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\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\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\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}\n\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\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\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\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\n return target;\n}\n\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nvar _entityMap = {\n '&': '&',\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\n return data;\n}\n\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\n\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\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$1(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\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\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\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\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\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass__default['default'](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\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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\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 = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\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\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\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\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\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\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$1(_objectSpread$1({}, {}), 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\n return ResourceStore;\n}(EventEmitter);\n\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\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};\n\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$2(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass__default['default'](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\n if (key === undefined || key === null) {\n return false;\n }\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\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\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\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\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\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\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\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\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\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\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$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\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\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\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\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, 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\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\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\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\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\n _this2.emit('missingKey', l, namespace, k, res);\n };\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\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\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\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, 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$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, 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\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\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\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\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\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\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$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\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\n var extracted = _this4.extractFromKey(k, options);\n\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\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\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\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\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\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\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\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\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\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\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass__default['default'](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\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\n return p.join('-');\n }\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\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\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\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\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\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\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\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\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};\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}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\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\n this.rules = createRules();\n }\n\n _createClass__default['default'](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\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\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\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\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\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\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\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\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\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\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\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\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\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\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\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$3(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass__default['default'](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\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\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(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\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\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\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 && options.hasOwnProperty(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\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\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\n replaces++;\n\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\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\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 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\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\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\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\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\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\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$4(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$4(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\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\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\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default['default'](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\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\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass__default['default'](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: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\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$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$5(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$5(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$5(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$2(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$2();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\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\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\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\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\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\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\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\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\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\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\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\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\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\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\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\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\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\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\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\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\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\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\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\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\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__default['default'](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\n if (_typeof__default['default'](args[2]) === 'object' || _typeof__default['default'](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\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}\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\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$6(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$6(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$6(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$3(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$3();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction noop() {}\n\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}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default['default'](_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\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\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\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\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\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\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\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\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\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\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\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\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\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\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\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\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\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\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\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\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\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\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\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\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\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\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\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\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\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\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\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 this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof__default['default'](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\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\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 = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\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\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\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\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\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\n var 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\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\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\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\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\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\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 return rtlLngs.indexOf(this.services.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\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, 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\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\n return I18n;\n}(EventEmitter);\n\n_defineProperty__default['default'](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});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\nmodule.exports = instance;","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\n\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n } else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\n\n\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function has(k) {\n return false;\n }\n };\n} // Safe hasOwnProperty\n\n\nvar hop = Object.prototype.hasOwnProperty;\n\nvar has = function has(obj, prop) {\n return hop.call(obj, prop);\n}; // Copy all own enumerable properties from source to target\n\n\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n\n return target;\n}\n\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\n\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n\n if (match) {\n indentationLevel = match[1].length;\n }\n\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n\n var newline = options.newline,\n trimLeadingNewline = options.trimLeadingNewline,\n trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\"); // Trim a leading newline from the first string\n\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n } // Trim a trailing newline from the last string\n\n\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n } // Normalize newlines\n\n\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) {\n return newline;\n });\n }\n\n return v;\n });\n return outdentedStrings;\n}\n\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n\n if (i < l - 1) {\n ret += values[i];\n }\n }\n\n return ret;\n}\n\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\n\n\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n\n function outdent(stringsOrOptions) {\n var values = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n\n\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation\n\n var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n\n\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n\n\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n } else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n\n var fullOutdent = extend(outdent, {\n string: function string(str) {\n return _outdentArray([str], false, options)[0];\n }\n });\n return fullOutdent;\n}\n\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true\n}); // Named exports. Simple and preferred.\n// import outdent from 'outdent';\n\nexport default defaultOutdent; // import {outdent} from 'outdent';\n\nexport { defaultOutdent as outdent };\n\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", {\n value: true\n });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n } catch (e) {}\n}","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};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\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};\nvar i18nInstance;\nexport var I18nContext = createContext();\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}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\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\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\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}","import e from \"void-elements\";\nvar t = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;\n\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\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\n for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) {\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 }\n\n return r;\n}\n\nvar r = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,\n i = /^\\s*$/,\n s = Object.create(null);\n\nfunction a(e, t) {\n switch (t.type) {\n case \"text\":\n return e + t.content;\n\n case \"tag\":\n return e += \"<\" + t.name + (t.attrs ? function (e) {\n var t = [];\n\n for (var n in e) {\n t.push(n + '=\"' + e[n] + '\"');\n }\n\n return t.length ? \" \" + t.join(\" \") : \"\";\n }(t.attrs) : \"\") + (t.voidElement ? \"/>\" : \">\"), t.voidElement ? e : e + t.children.reduce(a, \"\") + \"\";\n\n case \"comment\":\n return e + \"\\x3c!--\" + t.comment + \"--\\x3e\";\n }\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\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\n return e.replace(r, function (r, s) {\n if (m) {\n if (r !== \"\") return;\n m = !1;\n }\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\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\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;","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\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 _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'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;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\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\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\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\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;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\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};\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}","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|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|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|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|loading|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|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|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 isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default isPropValid;","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as s, useMemo as i, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\n\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var r in n) {\n Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar g = function g(e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) {\n n.push(t[r], e[r + 1]);\n }\n\n return n;\n},\n S = function S(t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n},\n w = Object.freeze([]),\n E = Object.freeze({});\n\nfunction b(e) {\n return \"function\" == typeof e;\n}\n\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\n\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\n\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.3.5\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\n\",\n 2: \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n 3: \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n 4: \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n 5: \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n 6: \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document ``\\n\\n\",\n 10: \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n 11: \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n 13: \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n} : {};\n\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) {\n t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n }\n\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\n\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\n\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) {\n t += this.groupSizes[n];\n }\n\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) {\n (o <<= 1) < 0 && j(16, \"\" + e);\n }\n\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n\n for (var s = r; s < o; s++) {\n this.groupSizes[s] = 0;\n }\n }\n\n for (var i = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) {\n this.tag.insertRule(i, t[a]) && (this.groupSizes[e]++, i++);\n }\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n\n for (var o = n; o < r; o++) {\n this.tag.deleteRule(n);\n }\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, s = r; s < o; s++) {\n t += this.tag.getRule(s) + \"/*!sc*/\\n\";\n }\n\n return t;\n }, e;\n}(),\n x = new Map(),\n k = new Map(),\n V = 1,\n B = function B(e) {\n if (x.has(e)) return x.get(e);\n\n for (; k.has(V);) {\n V++;\n }\n\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), x.set(e, t), k.set(t, e), t;\n},\n z = function z(e) {\n return k.get(e);\n},\n M = function M(e, t) {\n t >= V && (V = t + 1), x.set(e, t), k.set(t, e);\n},\n G = \"style[\" + A + '][data-styled-version=\"5.3.5\"]',\n L = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function F(e, t, n) {\n for (var r, o = n.split(\",\"), s = 0, i = o.length; s < i; s++) {\n (r = o[s]) && e.registerName(t, r);\n }\n},\n Y = function Y(e, t) {\n for (var n = (t.textContent || \"\").split(\"/*!sc*/\\n\"), r = [], o = 0, s = n.length; o < s; o++) {\n var i = n[o].trim();\n\n if (i) {\n var a = i.match(L);\n\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (M(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(i);\n }\n }\n},\n q = function q() {\n return \"undefined\" != typeof window && void 0 !== window.__webpack_nonce__ ? window.__webpack_nonce__ : null;\n},\n H = function H(e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n s = void 0 !== o ? o.nextSibling : null;\n\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.3.5\");\n var i = q();\n return i && r.setAttribute(\"nonce\", i), n.insertBefore(r, s), r;\n},\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n\n j(17);\n }(t), this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n}(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n}(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n}(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n},\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), this.server = !!e.isServer, !this.server && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(G), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n\n e.registerId = function (e) {\n return B(e);\n };\n\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var s = z(o);\n\n if (void 0 !== s) {\n var i = e.names.get(s),\n a = t.getGroup(o);\n\n if (i && a && i.size) {\n var c = A + \".g\" + o + '[id=\"' + s + '\"]',\n u = \"\";\n void 0 !== i && i.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n\n return r;\n }(this);\n }, e;\n}(),\n K = /(a)(d)/gi,\n Q = function Q(e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\n\nfunction ee(e) {\n var t,\n n = \"\";\n\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) {\n n = Q(t % 52) + n;\n }\n\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\n\nvar te = function te(e, t) {\n for (var n = t.length; n;) {\n e = 33 * e ^ t.charCodeAt(--n);\n }\n\n return e;\n},\n ne = function ne(e) {\n return te(5381, e);\n};\n\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n\n return !0;\n}\n\nvar oe = ne(\"5.3.5\"),\n se = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var s = Ne(this.rules, e, t, n).join(\"\"),\n i = ee(te(this.baseHash, s) >>> 0);\n\n if (!t.hasNameForId(r, i)) {\n var a = n(s, \".\" + i, void 0, r);\n t.insertRules(r, i, a);\n }\n\n o.push(i), this.staticRulesId = i;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n\n if (l) {\n var m = ee(u >>> 0);\n\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n}(),\n ie = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\n\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n s = void 0 === e ? E : e,\n i = s.options,\n a = void 0 === i ? E : i,\n c = s.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n\n return function (n, r, o, s, i, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function f(e, r, s) {\n return 0 === r && -1 !== ae.indexOf(s[n.length]) || s.match(o) ? e : \".\" + t;\n };\n\n function m(e, s, i, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(ie, \"\"),\n u = s && i ? i + \" \" + s + \" { \" + c + \" }\" : c;\n return t = a, n = s, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(i || !s ? \"\" : s, u);\n }\n\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\n\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\n\nfunction fe() {\n return s(ue) || he;\n}\n\nfunction me() {\n return s(de) || pe;\n}\n\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n s = t[1],\n c = fe(),\n u = i(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = i(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || s(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\n\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n}(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function Ee(e) {\n return \"-\" + e.toLowerCase();\n};\n\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\n\nvar _e = function _e(e) {\n return null == e || !1 === e || \"\" === e;\n};\n\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var s, i = [], a = 0, c = e.length; a < c; a += 1) {\n \"\" !== (s = Ne(e[a], n, r, o)) && (Array.isArray(s) ? i.push.apply(i, s) : i.push(s));\n }\n\n return i;\n }\n\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"), Ne(u, n, r, o);\n }\n\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n s = [];\n\n for (var i in t) {\n t.hasOwnProperty(i) && !_e(t[i]) && (Array.isArray(t[i]) && t[i].isCss || b(t[i]) ? s.push(be(i) + \":\", t[i], \";\") : S(t[i]) ? s.push.apply(s, e(t[i], i)) : s.push(be(i) + \": \" + (r = i, null == (o = t[i]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n }\n\n return n ? [n + \" {\"].concat(s, [\"}\"]) : s;\n }(e) : e.toString();\n}\n\nvar Ae = function Ae(e) {\n return Array.isArray(e) && (e.isCss = !0), e;\n};\n\nfunction Ce(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n return b(e) || S(e) ? Ae(Ne(g(w, [e].concat(n)))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ae(Ne(g(e, n)));\n}\n\nvar Ie = /invalid hook call/i,\n Pe = new Set(),\n Oe = function Oe(e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",\n r = console.error;\n\n try {\n var o = !0;\n console.error = function (e) {\n if (Ie.test(e)) o = !1, Pe.delete(n);else {\n for (var t = arguments.length, s = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) {\n s[i - 1] = arguments[i];\n }\n\n r.apply(void 0, [e].concat(s));\n }\n }, c(), o && !Pe.has(n) && (console.warn(n), Pe.add(n));\n } catch (e) {\n Ie.test(e.message) && Pe.delete(n);\n } finally {\n console.error = r;\n }\n }\n},\n Re = function Re(e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n},\n De = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n je = /(^-|-$)/g;\n\nfunction Te(e) {\n return e.replace(De, \"-\").replace(je, \"\");\n}\n\nvar xe = function xe(e) {\n return ee(ne(e) >>> 0);\n};\n\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\n\nvar Ve = function Ve(e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n},\n Be = function Be(e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n};\n\nfunction ze(e, t, n) {\n var r = e[n];\n Ve(t) && Ve(r) ? Me(r, t) : e[n] = t;\n}\n\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n for (var o = 0, s = n; o < s.length; o++) {\n var i = s[o];\n if (Ve(i)) for (var a in i) {\n Be(a) && ze(e, i[a], a);\n }\n }\n\n return e;\n}\n\nvar Ge = r.createContext(),\n Le = Ge.Consumer;\n\nfunction Fe(e) {\n var t = s(Ge),\n n = i(function () {\n return function (e, t) {\n if (!e) return j(14);\n\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(Ge.Provider, {\n value: n\n }, e.children) : null;\n}\n\nvar Ye = {};\n\nfunction qe(e, t, n) {\n var o = N(e),\n i = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : Te(e);\n Ye[n] = (Ye[n] || 0) + 1;\n var r = n + \"-\" + xe(\"5.3.5\" + n + Ye[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? Te(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r, o) {\n return e.shouldForwardProp(n, r, o) && t.shouldForwardProp(n, r, o);\n } : e.shouldForwardProp);\n\n var C,\n I = new se(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function O(e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n i = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n s,\n i = e;\n\n for (t in b(i) && (i = i(r)), i) {\n r[t] = o[t] = \"className\" === t ? (n = o[t], s = i[t], n && s ? n + \" \" + s : n || s) : i[t];\n }\n }), [r, o];\n }(Re(t, s(Ge), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n s = me(),\n i = t ? e.generateAndInjectStyles(E, o, s) : e.generateAndInjectStyles(n, o, s);\n return \"production\" !== process.env.NODE_ENV && l(i), \"production\" !== process.env.NODE_ENV && !t && r && r(i), i;\n }(i, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n\n for (var I in A) {\n \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m, _) : !N || m(I)) && (C[I] = A[I]));\n }\n\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n s = Object.keys(e);\n\n for (r = 0; r < s.length; r++) {\n n = s[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n }\n\n return o;\n }(t, [\"componentId\"]),\n s = r && r + \"-\" + (ke(e) ? e : Te(_(e)));\n\n return qe(e, v({}, o, {\n attrs: S,\n componentId: s\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Oe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var s = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + s + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, i && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\n\nvar He = function He(e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n\n var s = function s() {\n return t(r, o, Ce.apply(void 0, arguments));\n };\n\n return s.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, s.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, s;\n }(qe, e);\n};\n\n[\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"textPath\", \"tspan\"].forEach(function (e) {\n He[e] = He(e);\n});\n\nvar $e = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n s = this.componentId + e;\n n.insertRules(s, s, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\n\nfunction We(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) {\n n[o - 1] = arguments[o];\n }\n\n var i = Ce.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + xe(JSON.stringify(i)),\n u = new $e(i, a);\n\n function l(e) {\n var t = fe(),\n n = me(),\n o = s(Ge),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && i.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"), t.server && h(l, e, t, o, n), d(function () {\n if (!t.server) return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var s = v({}, t, {\n theme: Re(t, r, l.defaultProps)\n });\n u.renderStyles(e, s, n, o);\n }\n }\n\n return \"production\" !== process.env.NODE_ENV && Oe(a), r.memo(l);\n}\n\nfunction Ue(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n var o = Ce.apply(void 0, [e].concat(n)).join(\"\"),\n s = xe(o);\n return new ve(s, o);\n}\n\nvar Je = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString();\n if (!t) return \"\";\n var n = q();\n return \"\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.3.5\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n}(),\n Xe = function Xe(e) {\n var t = r.forwardRef(function (t, n) {\n var o = s(Ge),\n i = e.defaultProps,\n a = Re(t, o, i);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n},\n Ze = function Ze() {\n return s(Ge);\n},\n Ke = {\n StyleSheet: Z,\n masterSheet: he\n};\n\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && \"undefined\" != typeof window && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default He;\nexport { Je as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, Ge as ThemeContext, Fe as ThemeProvider, Ke as __PRIVATE__, We as createGlobalStyle, Ce as css, N as isStyledComponent, Ue as keyframes, Ze as useTheme, C as version, Xe as withTheme };","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\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};","var 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","var 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","var 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","var 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","var 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","var 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","var 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","var 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","var 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","var 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","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var 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","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/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","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var 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","var $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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var 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","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var 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","module.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","var uncurryThis = require('../internals/function-uncurry-this');\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","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/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","var 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","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/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","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var 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","var 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","var 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-x/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; })() || Function('return this')();\n","var 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-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var 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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var 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","var 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","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\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 var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, 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","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var 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","var 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","// 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","var isCallable = require('../internals/is-callable');\n\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = SPECIAL_DOCUMENT_ALL ? 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","module.exports = false;\n","var 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","var 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","var 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;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\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 (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^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 = TEMPLATE.join(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","var 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-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\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-x/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","var 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-x/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","var 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-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/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","var 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-x/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","var 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-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var 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","var 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-x/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-x/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","var 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","var 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","var 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","var 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","var 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","var 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.25.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\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","var 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","// 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","var 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","var 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","var 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","var 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","var 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","var 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","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var 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","/* eslint-disable es-x/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","var 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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var 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","var 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 WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\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","// 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\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\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); }\n\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; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\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\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\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\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\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\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\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\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\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\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\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\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\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\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\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-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-js\": () => import(\"./../../../src/pages/about.js\" /* webpackChunkName: \"component---src-pages-about-js\" */),\n \"component---src-pages-careers-js\": () => import(\"./../../../src/pages/careers.js\" /* webpackChunkName: \"component---src-pages-careers-js\" */),\n \"component---src-pages-case-study-js\": () => import(\"./../../../src/pages/case-study.js\" /* webpackChunkName: \"component---src-pages-case-study-js\" */),\n \"component---src-pages-contact-js\": () => import(\"./../../../src/pages/contact.js\" /* webpackChunkName: \"component---src-pages-contact-js\" */),\n \"component---src-pages-grant-js\": () => import(\"./../../../src/pages/grant.js\" /* webpackChunkName: \"component---src-pages-grant-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-privacy-policy-js\": () => import(\"./../../../src/pages/privacy-policy.js\" /* webpackChunkName: \"component---src-pages-privacy-policy-js\" */),\n \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-en-full-stack-dev-mdx\": () => import(\"./../../../src/templates/career.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/careers/en/full-stack-dev.mdx\" /* webpackChunkName: \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-en-full-stack-dev-mdx\" */),\n \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-en-internship-ai-mdx\": () => import(\"./../../../src/templates/career.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/careers/en/internship-ai.mdx\" /* webpackChunkName: \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-en-internship-ai-mdx\" */),\n \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-fr-full-stack-dev-mdx\": () => import(\"./../../../src/templates/career.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/careers/fr/full-stack-dev.mdx\" /* webpackChunkName: \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-fr-full-stack-dev-mdx\" */),\n \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-fr-internship-ai-mdx\": () => import(\"./../../../src/templates/career.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/careers/fr/internship-ai.mdx\" /* webpackChunkName: \"component---src-templates-career-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-careers-fr-internship-ai-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-dam-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/en/dam.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-dam-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-decade-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/en/decade.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-decade-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-voxmedia-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/en/voxmedia.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-en-voxmedia-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-dam-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/fr/dam.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-dam-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-decade-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/fr/decade.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-decade-mdx\" */),\n \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-voxmedia-mdx\": () => import(\"./../../../src/templates/case_study.js?__contentFilePath=C:/Users/jging/Documents/hectiq/website/hectiq.ai/src/data/case-study/fr/voxmedia.mdx\" /* webpackChunkName: \"component---src-templates-case-study-js-content-file-path-c-users-jging-documents-hectiq-website-hectiq-ai-src-data-case-study-fr-voxmedia-mdx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-styled-components/gatsby-browser.js'),\n options: {\"plugins\":[],\"displayName\":true,\"fileName\":true,\"minify\":true,\"namespace\":\"\",\"transpileTemplateLiterals\":true,\"topLevelImportPaths\":[],\"pure\":false,\"disableVendorPrefixes\":false},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Hectiq.AI\",\"short_name\":\"Hectiq.AI\",\"description\":\"Partenaire de solutions d’intelligence artificielle\",\"lang\":\"fr\",\"display\":\"standalone\",\"start_url\":\"/\",\"background_color\":\"#fff\",\"theme_color\":\"#354178\",\"icon\":\"src/images/favicon.png\",\"localize\":[{\"start_url\":\"/en/\",\"lang\":\"en\",\"description\":\"Artificial intelligence solutions provider\",\"name\":\"Hectiq.AI\",\"short_name\":\"Hectiq.AI\"}],\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"e7b74d2738cb66a662fb69e1faca11ff\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-gtag-optin/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-5NV01NV77G\"],\"pluginConfig\":{\"head\":true,\"respectDNT\":true,\"optinKey\":\"cookies-consent\"}},\n },{\n plugin: require('../node_modules/gatsby-remark-images/gatsby-browser.js'),\n options: {\"plugins\":[],\"maxWidth\":1200,\"disableBgImageOnAlpha\":true,\"backgroundColor\":\"transparent\",\"linkImagesToOriginal\":false,\"tracedSVG\":false,\"loading\":\"eager\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"en\",\"fr\"],\"defaultLanguage\":\"fr\",\"generateDefaultLanguagePage\":true,\"siteUrl\":\"https://www.hectiq.ai\",\"trailingSlash\":\"always\",\"redirect\":true,\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":\".\",\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?\",\"getLanguageFromPath\":false},{\"matchPath\":\"/:lang?/case-study\",\"getLanguageFromPath\":false},{\"matchPath\":\"/:lang?/careers\",\"getLanguageFromPath\":false},{\"matchPath\":\"/:lang?/contact\",\"getLanguageFromPath\":false},{\"matchPath\":\"/:lang?/about\",\"getLanguageFromPath\":false},{\"matchPath\":\"/:lang?/case-study/:uid\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/careers/:uid\",\"getLanguageFromPath\":true}]},\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","// \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/lib/utils\"\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\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\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\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\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 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\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\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 {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n\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 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 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\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 }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\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.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 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 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 {\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 inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\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 const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.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([componentChunkPromise, 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 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 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 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 => {\n if (!asyncRequires.components[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.components[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 // 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","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]\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 pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\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.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\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","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 { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\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[indexOfPreviouslyInsertedNode].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\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 // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\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 Head = pageComponent.Head\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 \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n }\n })\n}\n","import { 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 const pageElement = createElement(\n preferDefault(props.pageResources.component),\n {\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 { element: pageElement, props: pageComponentProps },\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 { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\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_EXPERIMENTAL_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(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.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 \"gatsby\"\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} 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 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 return (\n \n \n {children}\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})\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","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n 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 hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\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","/**\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","\"use strict\";\n\nexports.onRouteUpdate = function (_ref) {\n var location = _ref.location;\n\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(sendPageView);\n });\n } else {\n // simulate 2 rAF calls\n setTimeout(sendPageView, 32);\n }\n\n return null;\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;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.I18nextContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\n\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\n\nvar _types = require(\"../types\");\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _reactI18next = require(\"react-i18next\");\n\nvar _i18nextContext = require(\"../i18nextContext\");\n\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\n\nvar _templateObject;\n\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\n\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n\n return result;\n};\n\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN;\n\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n\n if (isRedirect) {\n var search = location.search; // Skip build, Browsers only\n\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n\n if (!languages.includes(detected)) {\n detected = language;\n }\n\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash); // @ts-ignore\n\n window.___replace(newUrl);\n\n return null;\n }\n }\n }\n\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n }); // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n\n var defaultNS = i18nextOptions.defaultNS || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n\n var i18n = _i18next.default.createInstance();\n\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\n\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _styledComponents = require(\"styled-components\");\n\n// eslint-disable-next-line react/prop-types,react/display-name\nexports.wrapRootElement = function (_ref, pluginOptions) {\n var element = _ref.element;\n return /*#__PURE__*/_react.default.createElement(_styledComponents.StyleSheetManager, {\n disableVendorPrefixes: (pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.disableVendorPrefixes) === true\n }, element);\n};","\"use strict\";\n\nexports.DEFAULT_OPTIONS = {\n maxWidth: 650,\n wrapperStyle: \"\",\n backgroundColor: \"white\",\n linkImagesToOriginal: true,\n showCaptions: false,\n markdownCaptions: false,\n withWebp: false,\n withAvif: false,\n tracedSVG: false,\n loading: \"lazy\",\n decoding: \"async\",\n disableBgImageOnAlpha: false,\n disableBgImage: false\n};\nexports.EMPTY_ALT = \"GATSBY_EMPTY_ALT\";\nexports.imageClass = \"gatsby-resp-image-image\";\nexports.imageWrapperClass = \"gatsby-resp-image-wrapper\";\nexports.imageBackgroundClass = \"gatsby-resp-image-background-image\";","\"use strict\";\n\nvar _require = require(\"./constants\"),\n DEFAULT_OPTIONS = _require.DEFAULT_OPTIONS,\n imageClass = _require.imageClass,\n imageBackgroundClass = _require.imageBackgroundClass,\n imageWrapperClass = _require.imageWrapperClass;\n\nexports.onRouteUpdate = function (apiCallbackContext, pluginOptions) {\n var options = Object.assign({}, DEFAULT_OPTIONS, pluginOptions);\n var imageWrappers = document.querySelectorAll(\".\" + imageWrapperClass); // https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/\n // for cross-browser looping through NodeList without polyfills\n\n var _loop = function _loop(i) {\n var imageWrapper = imageWrappers[i];\n var backgroundElement = imageWrapper.querySelector(\".\" + imageBackgroundClass);\n var imageElement = imageWrapper.querySelector(\".\" + imageClass);\n\n var onImageLoad = function onImageLoad() {\n backgroundElement.style.transition = \"opacity 0.5s 0.5s\";\n imageElement.style.transition = \"opacity 0.5s\";\n onImageComplete();\n };\n\n var onImageComplete = function onImageComplete() {\n backgroundElement.style.opacity = 0;\n imageElement.style.opacity = 1;\n imageElement.style.color = \"inherit\";\n imageElement.style.boxShadow = \"inset 0px 0px 0px 400px \" + options.backgroundColor;\n imageElement.removeEventListener(\"load\", onImageLoad);\n imageElement.removeEventListener(\"error\", onImageComplete);\n };\n\n imageElement.style.opacity = 0;\n imageElement.addEventListener(\"load\", onImageLoad);\n imageElement.addEventListener(\"error\", onImageComplete);\n\n if (imageElement.complete) {\n onImageComplete();\n }\n };\n\n for (var i = 0; i < imageWrappers.length; i++) {\n _loop(i);\n }\n};","import invariant from \"invariant\"; ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\"; ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext(\"Location\"); // sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(React.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined); // using 'div' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don't pass any props to 'div'\n\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don't focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\n\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n 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 }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n 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 }\n\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n\n var context = useContext(BaseContext);\n\n if (!context) {\n 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 }\n\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","/**\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\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\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\n return self;\n}\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}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\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}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\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}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\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}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\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\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\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, 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}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}\n\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\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}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - 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(w,1e4),e.addEventListener(\\\"pt0\\\",f),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):w())))}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.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\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 `