{"version":3,"file":"app-a6a85c9ace3ec1445283.js","mappings":"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","sources":["webpack://mrs-sitty.de/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://mrs-sitty.de/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://mrs-sitty.de/./node_modules/browser-lang/dist/index.js","webpack://mrs-sitty.de/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://mrs-sitty.de/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://mrs-sitty.de/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://mrs-sitty.de/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://mrs-sitty.de/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://mrs-sitty.de/./node_modules/i18next/dist/esm/i18next.js","webpack://mrs-sitty.de/./node_modules/outdent/lib-module/index.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/unescape.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/context.js","webpack://mrs-sitty.de/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/Trans.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/Translation.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/useSSR.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/withSSR.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/index.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://mrs-sitty.de/./node_modules/react-i18next/dist/es/utils.js","webpack://mrs-sitty.de/./node_modules/void-elements/index.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/a-callable.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/add-to-unscopables.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/an-object.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/array-includes.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/array-species-constructor.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/array-species-create.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/classof-raw.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/classof.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/create-property-descriptor.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/define-built-in.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/define-global-property.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/descriptors.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/document-all.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/document-create-element.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/engine-user-agent.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/engine-v8-version.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/enum-bug-keys.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/export.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/fails.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/flatten-into-array.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-bind-context.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-bind-native.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-call.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-name.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/function-uncurry-this.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/get-built-in.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/get-method.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/global.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/has-own-property.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/hidden-keys.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/html.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/ie8-dom-define.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/indexed-object.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/inspect-source.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/internal-state.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-array.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-callable.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-constructor.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-forced.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-object.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-pure.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/is-symbol.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/length-of-array-like.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/make-built-in.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/math-trunc.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-create.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-define-properties.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-define-property.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-keys-internal.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-keys.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/own-keys.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/require-object-coercible.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/shared-key.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/shared-store.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/shared.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-absolute-index.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-indexed-object.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-length.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-object.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-primitive.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-property-key.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/to-string-tag-support.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/try-to-string.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/uid.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://mrs-sitty.de/./node_modules/core-js/internals/well-known-symbol.js","webpack://mrs-sitty.de/./node_modules/core-js/modules/es.array.flat-map.js","webpack://mrs-sitty.de/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://mrs-sitty.de/./node_modules/gatsby-react-router-scroll/index.js","webpack://mrs-sitty.de/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://mrs-sitty.de/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://mrs-sitty.de/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://mrs-sitty.de/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://mrs-sitty.de/./.cache/api-runner-browser-plugins.js","webpack://mrs-sitty.de/./.cache/api-runner-browser.js","webpack://mrs-sitty.de/./node_modules/mitt/dist/mitt.es.js","webpack://mrs-sitty.de/./.cache/emitter.js","webpack://mrs-sitty.de/./.cache/normalize-page-path.js","webpack://mrs-sitty.de/./.cache/find-path.js","webpack://mrs-sitty.de/./.cache/static-query.js","webpack://mrs-sitty.de/./.cache/gatsby-browser-entry.js","webpack://mrs-sitty.de/./.cache/prefetch.js","webpack://mrs-sitty.de/./.cache/loader.js","webpack://mrs-sitty.de/./.cache/head/components/fire-callback-in-effect.js","webpack://mrs-sitty.de/./.cache/head/constants.js","webpack://mrs-sitty.de/./.cache/head/utils.js","webpack://mrs-sitty.de/./.cache/head/head-export-handler-for-browser.js","webpack://mrs-sitty.de/./.cache/page-renderer.js","webpack://mrs-sitty.de/./.cache/route-announcer-props.js","webpack://mrs-sitty.de/./.cache/navigation.js","webpack://mrs-sitty.de/./node_modules/shallow-compare/es/index.js","webpack://mrs-sitty.de/./.cache/ensure-resources.js","webpack://mrs-sitty.de/./.cache/production-app.js","webpack://mrs-sitty.de/./.cache/public-page-renderer-prod.js","webpack://mrs-sitty.de/./.cache/public-page-renderer.js","webpack://mrs-sitty.de/./.cache/react-dom-utils.js","webpack://mrs-sitty.de/./.cache/react-lifecycles-compat.js","webpack://mrs-sitty.de/./.cache/redirect-utils.js","webpack://mrs-sitty.de/./.cache/register-service-worker.js","webpack://mrs-sitty.de/./.cache/strip-prefix.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://mrs-sitty.de/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://mrs-sitty.de/./src/context/page.tsx","webpack://mrs-sitty.de/./src/gatsby-api/wrap-page.tsx","webpack://mrs-sitty.de/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://mrs-sitty.de/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://mrs-sitty.de/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://mrs-sitty.de/./node_modules/invariant/browser.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/createClass.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/extends.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/typeof.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://mrs-sitty.de/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://mrs-sitty.de/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://mrs-sitty.de/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://mrs-sitty.de/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\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 if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\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};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\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 if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\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 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\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\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 addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\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 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 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 if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\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;\nvar _invariant = require(\"invariant\");\nvar _invariant2 = _interopRequireDefault(_invariant);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\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.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\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 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 var dynamicMatch = paramRe.exec(routeSegment);\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 if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\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.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\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 var allSegments = baseSegments.concat(toSegments);\n var segments = [];\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 return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\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 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};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\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\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\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};\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};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\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 query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\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 */\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;\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\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}\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n var languages = options.languages,\n fallback = options.fallback;\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n var browserLanguage = normalizeCode(getBrowserLang());\n if (!browserLanguage) {\n return fallback;\n }\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang);\n });\n return matchCodeOnly[0] || fallback;\n}\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\n\n// TODO(v5): Remove legacy setting and default to \"always\"\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 if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nmodule.exports = Object.assign;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // 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\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(function (script) {\n return (script === null || script === void 0 ? void 0 : script.forward) || [];\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n var forwards = (0, _getForwards.getForwards)(collectedScripts);\n var snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _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 }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = 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 if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, 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: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : resForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\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);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var rule = this.getRule(code);\n if (!rule) {\n return [];\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n var rule = this.getRule(code);\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n return PluralResolver;\n}();\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\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 (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions = _objectSpread({}, options);\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\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 try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n options.supportedLngs = options.whitelist;\n }\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\nfunction noop() {}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var 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 s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = keyPrefix ? \"\".concat(keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.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'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\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 }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\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({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\nvar i18next = new I18n();\nexport default i18next;","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\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 */\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}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function has(obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\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]*$/;\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 if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\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\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) {\n return newline;\n });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\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 */\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 var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\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 var fullOutdent = extend(outdent, {\n string: function string(str) {\n return _outdentArray([str], false, options)[0];\n }\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\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};\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\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\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { createContext } from 'react';\nimport { 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 this.usedNamespaces = {};\n }\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\nexport function 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 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;\nfunction n(n) {\n var r = {\n type: \"tag\",\n name: \"\",\n voidElement: !1,\n attrs: {},\n children: []\n },\n i = n.match(/<\\/?([^\\s]+?)[/\\s>]/);\n if (i && (r.name = i[1], (e[i[1]] || \"/\" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith(\"!--\"))) {\n var s = n.indexOf(\"--\\x3e\");\n return {\n type: \"comment\",\n comment: -1 !== s ? n.slice(4, s) : \"\"\n };\n }\n for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) if (c[0].trim()) if (c[1]) {\n var o = c[1].trim(),\n l = [o, \"\"];\n o.indexOf(\"=\") > -1 && (l = o.split(\"=\")), r.attrs[l[0]] = l[1], a.lastIndex--;\n } else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));\n return r;\n}\nvar r = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,\n i = /^\\s*$/,\n s = Object.create(null);\nfunction a(e, t) {\n switch (t.type) {\n case \"text\":\n return e + t.content;\n case \"tag\":\n return e += \"<\" + t.name + (t.attrs ? function (e) {\n var t = [];\n for (var n in e) t.push(n + '=\"' + e[n] + '\"');\n return t.length ? \" \" + t.join(\" \") : \"\";\n }(t.attrs) : \"\") + (t.voidElement ? \"/>\" : \">\"), t.voidElement ? e : e + t.children.reduce(a, \"\") + \"\";\n case \"comment\":\n return e + \"\\x3c!--\" + t.comment + \"--\\x3e\";\n }\n}\nvar c = {\n parse: function parse(e, t) {\n t || (t = {}), t.components || (t.components = s);\n var a,\n c = [],\n o = [],\n l = -1,\n m = !1;\n if (0 !== e.indexOf(\"<\")) {\n var u = e.indexOf(\"<\");\n c.push({\n type: \"text\",\n content: -1 === u ? e : e.substring(0, u)\n });\n }\n return e.replace(r, function (r, s) {\n if (m) {\n if (r !== \"\") return;\n m = !1;\n }\n var u,\n f = \"/\" !== r.charAt(1),\n h = r.startsWith(\"\\x3c!--\"),\n p = s + r.length,\n d = e.charAt(p);\n if (h) {\n var v = n(r);\n return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);\n }\n if (f && (l++, \"tag\" === (a = n(r)).type && t.components[a.name] && (a.type = \"component\", m = !0), a.voidElement || m || !d || \"<\" === d || a.children.push({\n type: \"text\",\n content: e.slice(p, e.indexOf(\"<\", p))\n }), 0 === l && c.push(a), (u = o[l - 1]) && u.children.push(a), o[l] = a), (!f || a.voidElement) && (l > -1 && (a.voidElement || a.name === r.slice(2, -1)) && (l--, a = -1 === l ? c : o[l]), !m && \"<\" !== d && d)) {\n u = -1 === l ? c : o[l].children;\n var x = e.indexOf(\"<\", p),\n g = e.slice(p, -1 === x ? void 0 : x);\n i.test(g) && (g = \" \"), (x > -1 && l + u.length >= 0 || \" \" !== g) && u.push({\n type: \"text\",\n content: g\n });\n }\n }), c;\n },\n stringify: function stringify(e) {\n return e.reduce(function (e, t) {\n return e + a(\"\", t);\n }, \"\");\n }\n};\nexport default c;","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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\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}\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\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}\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\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 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 var keys = Object.keys(clone);\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}\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 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 getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\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 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 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 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 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 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 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 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 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 var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\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 return mem;\n }, []);\n }\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\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 var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n if (context) tOptions.context = context;\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\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 var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { 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 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 var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\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 var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\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 var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\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 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\"];\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { 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 useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\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\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\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};\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\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 var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\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 function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\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 if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n function boundReset() {\n if (isMounted.current) setT(getT);\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 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 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\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 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 i18n.on('initialized', initialized);\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 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 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}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\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}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};","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/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/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","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","module.exports = typeof navigator != 'undefined' && String(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-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","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/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 classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","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/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","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/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/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 isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","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');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","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 uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","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/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/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/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/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","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/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/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/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/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","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.31.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","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/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/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 Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","// 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-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */),\n \"component---src-pages-legal-tsx\": () => import(\"./../../../src/pages/legal.tsx\" /* webpackChunkName: \"component---src-pages-legal-tsx\" */),\n \"component---src-pages-privacy-tsx\": () => import(\"./../../../src/pages/privacy.tsx\" /* webpackChunkName: \"component---src-pages-privacy-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/static/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"07f394ba3af1d4559330483bb4e3ef6f\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"languages\":[\"de\"],\"defaultLanguage\":\"de\",\"redirect\":false,\"siteUrl\":\"https://mrs-sitty.de\",\"i18nextOptions\":{\"lowerCaseLng\":true,\"saveMissing\":false,\"interpolation\":{\"escapeValue\":false},\"keySeparator\":\".\",\"nsSeparator\":false},\"pages\":[]},\n },{\n plugin: require('../gatsby-browser.tsx'),\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\"\n\nconst StaticQueryContext = React.createContext({})\nlet StaticQueryServerContext = null\nif (React.createServerContext) {\n StaticQueryServerContext = React.createServerContext(`StaticQuery`, {})\n}\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\n// TODO(v5): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n let context\n\n // Can we get a better check here?\n if (\n StaticQueryServerContext &&\n Object.keys(StaticQueryServerContext._currentValue).length\n ) {\n context = React.useContext(StaticQueryServerContext)\n } else {\n context = React.useContext(StaticQueryContext)\n }\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n default as Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport {\n StaticQuery,\n StaticQueryContext,\n useStaticQuery,\n StaticQueryServerContext,\n} from \"./static-query\"\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 { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst 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\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n 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 let inFlightPromise\n if (global.hasPartialHydration) {\n inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n this.loadPartialHydrationJson(pagePath),\n ]).then(([appData, { payload: pageData }, result]) => {\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\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 = this.loadComponent(\n pageData.componentChunkName,\n `head`\n ).then(head => {\n finalResult.createdAt = new Date()\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appData\n ? appData.webpackCompilationHash\n : ``,\n })\n\n const pageResources = toPageResources(pageData, null, head)\n\n if (result.payload && typeof result.payload === `string`) {\n pageResources.partialHydration = result.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(result.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n }\n\n // undefined if final result is an error\n return pageResources\n })\n\n // Necessary for head component\n const staticQueryBatchPromise = Promise.all(\n (pageData.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 = {\n ...pageResources,\n staticQueryResults: staticQueryResults,\n }\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 } else {\n 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\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n // 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 React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { 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 if (pageResources.partialHydration) {\n return (\n \n {children}\n \n )\n } else {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
\n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/* 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\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _gatsby = require(\"gatsby\");\n\nvar _getManifestPathname = _interopRequireDefault(require(\"./get-manifest-pathname\"));\n\n/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\n// when we don't have localisation in our manifest, we tree shake everything away\nif (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n exports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n var localize = pluginOptions.localize;\n var manifestFilename = (0, _getManifestPathname.default)(location.pathname, localize);\n var manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", (0, _gatsby.withPrefix)(manifestFilename));\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\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 * @return string\n */\nvar _default = function _default(pathname, localizedManifests) {\n var defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n var localizedManifest = localizedManifests.find(function (app) {\n return pathname.startsWith(app.start_url);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\" + localizedManifest.lang + \".webmanifest\";\n};\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) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n\n if (pathname.startsWith(pathPrefix)) {\n return pathname.replace(pathPrefix, '/');\n }\n\n return pathname;\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 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 newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname) + 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 = JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns] = 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: {\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","import * as React from 'react'\n\nexport const PageContext = React.createContext([{} as any, (data: any) => {}])\n\nexport const PageProvider: React.FC = ({children}) => {\n const [pageOptions, setPageOptions] = React.useState({})\n\n return {children}\n}\n","import * as React from 'react'\nimport type { GatsbyBrowser } from 'gatsby'\nimport { PageProvider } from '../context/page'\n\nexport const wrapPageElement: GatsbyBrowser['wrapPageElement'] = ({\n element,\n}) => {\n return (\n \n {element}\n \n )\n}\n","import invariant from \"invariant\";\n\n////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n};\n\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.\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\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 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 var dynamicMatch = paramRe.exec(routeSegment);\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 if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n return match || default_ || null;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n};\n\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.\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname);\n\n // ?a=b, /users?b=c => /users?a=b\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n }\n\n // profile, /users/789 => /users/789/profile\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n }\n\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 var allSegments = baseSegments.concat(toSegments);\n var segments = [];\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 return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\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 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};\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\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\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\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};\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};\nvar segmentize = function segmentize(uri) {\n return uri\n // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\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 query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\nvar reservedNames = [\"uri\", \"path\"];\n\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 */\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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\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 if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\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};\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n var resolveTransition = function resolveTransition() {};\n return {\n get location() {\n return location;\n },\n get transitioning() {\n return transitioning;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\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 if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n });\n // try...catch iOS Safari limits to 100 pushState calls\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 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\n////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\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 addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n get index() {\n return index;\n },\n get state() {\n return states[index];\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 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 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 if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n index = newIndex;\n }\n }\n };\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate;\n\n////////////////////////////////////////////////////////////////////////////////\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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\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 return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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 return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\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 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\n/* eslint-disable jsx-a11y/anchor-has-content */\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\n////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n};\n\n////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\nvar LocationContext = createNamedContext(\"Location\");\n\n// sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\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};\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n function LocationProvider() {\n var _temp, _this, _ret;\n _classCallCheck(this, LocationProvider);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\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 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 LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\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 LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n var refs = this.state.refs,\n history = this.props.history;\n history._onTransitionComplete();\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 LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\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 return LocationProvider;\n}(React.Component);\n\n////////////////////////////////////////////////////////////////////////////////\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\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 if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\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////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n});\n\n////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\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};\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\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 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 if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value;\n\n // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\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 var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined);\n\n // using 'div' for < 16.3 support\n var FocusWrapper = primary ? FocusHandler : component;\n // don't pass any props to 'div'\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 return RouterImpl;\n}(React.PureComponent);\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\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 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};\n\n// don't focus on initial render\nvar initialRender = true;\nvar focusHandlerCount = 0;\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n _classCallCheck(this, FocusHandlerImpl);\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\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 FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\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 FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n if (focusHandlerCount === 0) {\n initialRender = true;\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 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 var requestFocus = this.props.requestFocus;\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 FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\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 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 return FocusHandlerImpl;\n}(React.Component);\npolyfill(FocusHandlerImpl);\nvar k = function k() {};\n\n////////////////////////////////////////////////////////////////////////////////\nvar forwardRef = React.forwardRef;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\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 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 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 if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\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 shouldReplace = shallowCompare(_extends({}, state), restState);\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\n////////////////////////////////////////////////////////////////////////////////\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n }\n\n // Support React < 16 with this hook\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 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 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 var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n return RedirectImpl;\n}(React.Component);\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};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\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\n////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\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 return context.location;\n};\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\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 return context.navigate;\n};\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\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 var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\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 var context = useContext(BaseContext);\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 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\n////////////////////////////////////////////////////////////////////////////////\n// Junk\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\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 if (element.props.default) {\n return {\n value: element,\n default: true\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};\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 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(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}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'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 `