{"version":3,"file":"app-6caac6dd12b6dfa10f13.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/browser-lang/dist/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://gatsby-starter-default/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-starter-default/./.cache/api-runner-browser-plugins.js","webpack://gatsby-starter-default/./.cache/api-runner-browser.js","webpack://gatsby-starter-default/./.cache/create-content-digest-browser-shim.js","webpack://gatsby-starter-default/./.cache/emitter.js","webpack://gatsby-starter-default/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-starter-default/./.cache/normalize-page-path.js","webpack://gatsby-starter-default/./.cache/find-path.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://gatsby-starter-default/./.cache/slice/server-slice-renderer.js","webpack://gatsby-starter-default/./.cache/slice/server-slice.js","webpack://gatsby-starter-default/./.cache/slice/inline-slice.js","webpack://gatsby-starter-default/./.cache/slice.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://gatsby-starter-default/./.cache/gatsby-browser-entry.js","webpack://gatsby-starter-default/./.cache/prefetch.js","webpack://gatsby-starter-default/./.cache/loader.js","webpack://gatsby-starter-default/./.cache/head/components/fire-callback-in-effect.js","webpack://gatsby-starter-default/./.cache/head/constants.js","webpack://gatsby-starter-default/./.cache/head/utils.js","webpack://gatsby-starter-default/./.cache/head/head-export-handler-for-browser.js","webpack://gatsby-starter-default/./.cache/page-renderer.js","webpack://gatsby-starter-default/./.cache/route-announcer-props.js","webpack://gatsby-starter-default/./.cache/navigation.js","webpack://gatsby-starter-default/./node_modules/shallow-compare/es/index.js","webpack://gatsby-starter-default/./.cache/ensure-resources.js","webpack://gatsby-starter-default/./.cache/production-app.js","webpack://gatsby-starter-default/./.cache/public-page-renderer-prod.js","webpack://gatsby-starter-default/./.cache/public-page-renderer.js","webpack://gatsby-starter-default/./.cache/react-dom-utils.js","webpack://gatsby-starter-default/./.cache/redirect-utils.js","webpack://gatsby-starter-default/./.cache/register-service-worker.js","webpack://gatsby-starter-default/./.cache/slice/context.js","webpack://gatsby-starter-default/./.cache/static-query.js","webpack://gatsby-starter-default/./.cache/context-utils.js","webpack://gatsby-starter-default/./.cache/strip-prefix.js","webpack://gatsby-starter-default/external var \"jQuery\"","webpack://gatsby-starter-default/./gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-catch-links/node_modules/escape-string-regexp/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://gatsby-starter-default/../src/gatsby-browser.ts","webpack://gatsby-starter-default/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://gatsby-starter-default/./node_modules/i18next/dist/cjs/i18next.js","webpack://gatsby-starter-default/./node_modules/invariant/browser.js","webpack://gatsby-starter-default/./node_modules/outdent/lib-module/index.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/I18nextProvider.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/Trans.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/TransWithoutContext.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/Translation.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/context.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/defaults.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/i18nInstance.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/index.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/initReactI18next.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/unescape.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/useSSR.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/useTranslation.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/utils.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/withSSR.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/commonjs/withTranslation.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/index.js","webpack://gatsby-starter-default/./node_modules/void-elements/index.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/createClass.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/extends.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inherits.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/typeof.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst applyTrailingSlashOption = (input, option = `always`) => {\n const hasHtmlSuffix = input.endsWith(`.html`);\n const hasXmlSuffix = input.endsWith(`.xml`);\n const 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 : `${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\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-index-copy-js\": () => import(\"./../../../src/pages/index copy.js\" /* webpackChunkName: \"component---src-pages-index-copy-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-using-ssr-js\": () => import(\"./../../../src/pages/using-ssr.js\" /* webpackChunkName: \"component---src-pages-using-ssr-js\" */),\n \"component---src-pages-using-typescript-tsx\": () => import(\"./../../../src/pages/using-typescript.tsx\" /* webpackChunkName: \"component---src-pages-using-typescript-tsx\" */),\n \"component---src-templates-gamers-js\": () => import(\"./../../../src/templates/gamers.js\" /* webpackChunkName: \"component---src-templates-gamers-js\" */),\n \"component---src-templates-homepage-js\": () => import(\"./../../../src/templates/Homepage.js\" /* webpackChunkName: \"component---src-templates-homepage-js\" */),\n \"component---src-templates-page-js\": () => import(\"./../../../src/templates/page.js\" /* webpackChunkName: \"component---src-templates-page-js\" */),\n \"component---src-templates-post-js\": () => import(\"./../../../src/templates/post.js\" /* webpackChunkName: \"component---src-templates-post-js\" */),\n \"component---src-templates-universe-js\": () => import(\"./../../../src/templates/universe.js\" /* webpackChunkName: \"component---src-templates-universe-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"en\",\"zh-hant\",\"de\",\"fr\",\"vi\",\"id\",\"ru\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://rog.asus.com/rog-saga/\",\"railingSlash\":\"always\",\"generateDefaultLanguagePage\":true,\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/gamers/:uid\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/universe/:uid\",\"getLanguageFromPath\":true}]},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"gatsby-starter-default\",\"short_name\":\"starter\",\"start_url\":\"/\",\"background_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/images/fav.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"1074323fcd20e8684dcbe4d437e98daa\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-source-wordpress/gatsby-browser.js'),\n options: {\"plugins\":[],\"url\":\"http://roggatsby.local/graphql\",\"schema\":{\"typePrefix\":\"Wp\",\"queryDepth\":15,\"circularQueryLimit\":5,\"timeout\":30000,\"perPage\":100,\"requestConcurrency\":15,\"previewRequestConcurrency\":5},\"develop\":{\"hardCacheMediaFiles\":true,\"nodeUpdateInterval\":5000,\"hardCacheData\":false},\"type\":{\"Post\":{\"limit\":5000},\"RootQuery\":\"{ excludeFieldNames: ['viewer', 'node', 'schemaMd5'], },\"},\"verbose\":true,\"catchLinks\":true},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\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","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","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\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","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 loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","var __WEBPACK_NAMESPACE_OBJECT__ = jQuery;","/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.com/docs/reference/config-files/gatsby-browser/\n */\n\n// You can delete this file if you're not using it\nimport $ from \"jquery\"\nimport ReactDOM from \"react-dom/client\"\n\nexport const replaceHydrateFunction = () => {\n return (element, container, callback) => {\n const root = ReactDOM.createRoot(container) // 创建一个 root\n root.render(element, callback) // 使用 root.render 替代 ReactDOM.render\n }\n}\n\nexport const onClientEntry = () => {\n // 确保 DOMContentLoaded 事件已经触发\n function runOnClient() {\n //# 文字亂數 Plugin\n // API 參考: https://github.com/masteryder/splitflap\n const splitFlapDefaults = {\n nbJumpIterations: 10, // 例子值,表示跳跃迭代的次数\n timeOut: 1000, // 例子值,表示更换文本之前的等待时间(毫秒)\n tickTimeOut: 100, // 例子值,表示字符变化的间隔时间(毫秒)\n }\n\n String.prototype.replaceAt = function (index, replacement) {\n let left\n let right\n\n if (this.substr(0, index) == undefined) {\n left = \"\"\n } else {\n left = this.substr(0, index)\n }\n\n if (this.substr(index + replacement.length) == undefined) {\n right = \"\"\n } else {\n right = this.substr(index + replacement.length)\n }\n return left + replacement + right\n }\n\n /*\n *\n */\n function splitFlap(domElement, texts, options = splitFlapDefaults) {\n let curIndex = -1\n let curDoneIterations = 0\n let curText\n let curEndText\n\n const nbJumpIterations = options.nbJumpIterations\n const timeOut = options.timeOut\n const tickTimeOut = options.tickTimeOut\n\n setTimeout(changeText, timeOut)\n\n function changeText() {\n let beforeText\n let afterText\n\n if (curIndex >= 0) {\n beforeText = texts[curIndex]\n if (curIndex == texts.length - 1) {\n afterText = texts[0]\n } else {\n afterText = texts[curIndex + 1]\n }\n } else {\n beforeText = domElement.innerText\n afterText = texts[0]\n }\n updateIndex()\n transitionText(beforeText, afterText)\n }\n\n function updateIndex() {\n if (curIndex < texts.length - 1) {\n curIndex++\n } else {\n curIndex = 0\n }\n }\n\n function transitionText(startText, endText) {\n curText = startText\n\n if (endText.length < curText.length) {\n let diff = curText.length - endText.length\n curEndText = endText + \" \".repeat(diff)\n } else {\n curEndText = endText\n }\n transitionTextTick()\n }\n\n function transitionTextTick() {\n let endLength\n let startLength\n\n if (curText.length == null) {\n startLength = 0\n } else {\n startLength = curText.length\n }\n if (curEndText.length == null) {\n endLength = 0\n } else {\n endLength = curEndText.length\n }\n\n var longestLength = startLength >= endLength ? startLength : endLength\n\n for (var i = 0; i < longestLength; i++) {\n let curCharCode = curText.charCodeAt(i)\n\n if (curCharCode == undefined || isNaN(curCharCode)) {\n curCharCode = String.fromCharCode(32)\n curText = curText.replaceAt(i, curCharCode)\n } else {\n if (curText.charAt(i) != curEndText.charAt(i)) {\n if (curCharCode >= 126 || curCharCode < 32) {\n curCharCode = 32\n } else {\n curCharCode++\n }\n curText = curText.replaceAt(i, String.fromCharCode(curCharCode))\n }\n }\n }\n\n if (\n curDoneIterations >= nbJumpIterations ||\n curText.trim().localeCompare(curEndText.trim()) == 0\n ) {\n domElement.innerText = curText\n\n if (curText.trim().localeCompare(curEndText.trim()) != 0) {\n setTimeout(transitionTextTick, tickTimeOut)\n } else {\n setTimeout(changeText, timeOut)\n }\n curDoneIterations = 0\n } else {\n curDoneIterations++\n transitionTextTick()\n }\n }\n }\n //# End of 文字亂數 Plugin\n $(document).ready(function () {\n let cards = document.querySelectorAll(\".card\")\n let cardsIndexes = [...Array(cards.length).keys()] // 假设的初始化\n let isFromAnchor = false\n\n //# 首頁影片 Lightbox\n let w = window.innerWidth\n let autoplay = w < 768 ? \"\" : \"autoplay=1&mute=1&\"\n $(\".openbox\").click(function () {\n var vidNum = $(this).attr(\"data-video\").replace(\"watch?v=\", \"embed/\")\n let uri = vidNum + \"?\" + autoplay + \"showinfo=0\"\n let title = $(this)\n .parents(\".swiper-slide \")\n .find(\".info .title\")\n .text()\n\n $(\"#video\").parents(\".lightbox-wrap\").fadeIn(400)\n $(\"#video\").attr(\"src\", uri)\n $(\".head .title\").text(title)\n })\n\n //click X\n $(\".closebox, .lightbox-wrap\").click(function () {\n $(\".lightbox-wrap\").fadeOut(400)\n $(\"#video\").attr(\"src\", \"\")\n })\n\n //esc keydown\n $(document).keydown(function (event) {\n if (event.which == 27) {\n $(\".lightbox-wrap\").fadeOut(400)\n $(\"#video\").attr(\"src\", \"\")\n }\n })\n //# End of 首頁影片 Lightbox\n\n //# gamers 圖片 Lightbox\n\n $(\".open\").click(function () {\n let title = $(this)\n .parents(\".swiper-slide \")\n .find(\".info .title\")\n .text()\n $(\"#image\").parents(\".lightbox-wrap\").fadeIn(400)\n $(this).find(\"img\").clone().appendTo(\"#image\")\n $(\".head .title\").text(title)\n })\n\n //click X\n $(\".closebox, .lightbox-wrap\").click(function () {\n $(\".lightbox-wrap\").fadeOut(400)\n $(\"#image\").html(\"\")\n })\n\n //esc keydown\n $(document).keydown(function (event) {\n if (event.which == 27) {\n $(\".lightbox-wrap\").fadeOut(400)\n $(\"#image\").html(\"\")\n }\n })\n //# End of gamers 圖片 Lightbox\n\n $(\".lang-switch\").click(function () {\n $(\"#lang-modal\").fadeIn(400)\n $(\".head .title\").text(\"Select Your Language\")\n })\n\n //# Worldview\n //time line\n let ancords = document.querySelectorAll(\".timeline .anchor\")\n let timer\n let current = 0\n let triggerInit = false\n ancords.forEach(ele => {\n ele.addEventListener(\"click\", () => {\n let currentpoint = ele.getAttribute(\"data-point\")\n $(\".anchor\").removeClass(\"past-time-point\")\n $(\".anchor\").each(function () {\n if ($(this).attr(\"data-point\") <= currentpoint) {\n $(this).addClass(\"past-time-point\")\n }\n })\n isFromAnchor = true\n $(\"#progress\").attr(\"class\", \"point\" + currentpoint)\n\n if (triggerInit) {\n clearInterval(timer)\n current = currentpoint\n playWorldview()\n }\n })\n })\n $(\".anchor\").eq(0).click()\n\n function playWorldview() {\n current++\n current = current > ancords.length - 1 ? 0 : current\n }\n\n let inViewportPlayOnce = true\n window.addEventListener(\"scroll\", e => {\n let scrolled = window.pageYOffset\n\n // 剛好看得到一點worldview時,就要啟動了(手機版同)\n if (scrolled > 1200 && inViewportPlayOnce) {\n playWorldview()\n inViewportPlayOnce = false\n triggerInit = true\n }\n })\n\n function setIndex() {\n cards.forEach((ele, i) => {\n ele.dataset.slide = cardsIndexes[i]\n })\n ancords.forEach((ele, i) => {\n ele.dataset.slide = cardsIndexes[i]\n })\n }\n\n function setNumberToFirst(index) {\n for (let i = 0; i < index; i++) {\n cardsIndexes.unshift(cardsIndexes.pop())\n }\n }\n // slider\n $(\".worldview-slider\").each(function () {\n var $this = $(this)\n var $group = $this.find(\".cards-box\")\n var $slides = $this.find(\".card\")\n var currentIndex = 0\n var timeout\n\n function move(newIndex) {\n var animateLeft, slideLeft, infoSlideLeft, infoAnimateLeft\n\n advance()\n\n if ($group.is(\":animated\") || currentIndex === newIndex) {\n return\n }\n\n if (newIndex > currentIndex) {\n slideLeft = \"100%\"\n animateLeft = \"-100%\"\n infoSlideLeft = \"+=+8000\"\n infoAnimateLeft = \"+=-8000\"\n } else {\n slideLeft = \"-100%\"\n animateLeft = \"100%\"\n infoSlideLeft = \"+=-8000\"\n infoAnimateLeft = \"+=+8000\"\n }\n\n $slides.eq(newIndex).css({\n display: \"block\",\n left: slideLeft,\n })\n $slides.eq(currentIndex).find(\".card-info\").animate({\n left: infoSlideLeft,\n })\n $group.delay(300).animate(\n {\n left: animateLeft,\n },\n function () {\n $slides.eq(currentIndex).css({\n display: \"none\",\n })\n $slides.eq(newIndex).css({\n left: 0,\n })\n $group.css({\n left: 0,\n })\n $slides.eq(currentIndex).find(\".card-info\").animate({\n left: infoAnimateLeft,\n })\n currentIndex = newIndex\n }\n )\n }\n\n function advance() {\n clearTimeout(timeout)\n timeout = function () {\n if (currentIndex < $slides.length - 1) {\n move(currentIndex + 1)\n } else {\n move(0)\n }\n }\n }\n\n $(\".anchor\").click(function () {\n move($(this).attr(\"data-point\"))\n })\n })\n //# End of Worldview\n\n //# Opening 視差滾動\n let opening = document.getElementById(\"opening\")\n let opening_copy = document.querySelector(\"#opening-copy\")\n let transition = document.getElementById(\"transition\")\n let placeholderHeight = $(opening).outerHeight()\n $(window).scroll(function (e) {\n if (transition.offsetTop <= $(window).scrollTop()) {\n opening.style.position = \"relative\"\n opening.style.top = placeholderHeight - 40 + \"px\"\n opening.style.left = \"-1px\"\n opening_copy.style.height = 0\n } else {\n opening.style.left = \"0px\"\n setPlaceholder()\n }\n })\n function setPlaceholder() {\n opening_copy.style.height = placeholderHeight + \"px\"\n opening.style.position = \"fixed\"\n opening.style.top = \"0px\"\n }\n setPlaceholder()\n\n if (transition.offsetTop <= $(window).scrollTop()) {\n opening.style.position = \"relative\"\n opening.style.top = placeholderHeight - 40 + \"px\"\n opening.style.left = \"-1px\"\n opening_copy.style.height = 0\n }\n //# Transition\n const texts_set = [\n [\"REBOOT\", \"REVELATION\"],\n [\"RHAPSODY\", \"REBOOT\"],\n [\"RE-AWAKENING\", \"RHAPSODY\"],\n [\"REVELATION\", \"RE-AWAKENING\"],\n ]\n\n const dictionary = [\n [\"重啟\", \"甦醒\", \"反逆\", \"共%\", \"新秩序\", \"復仇\", \"革命\", \"揭露\"],\n [\"鵟翔曲\", \"反逆\", \"共鳴\", \"新x序\", \"復仇\", \"革*\", \"對抗\", \"重啟\"],\n [\"再。覺醒\", \"0鳴\", \"新秩序\", \"復仇\", \"革命\", \"#抗\", \"重逢\", \"鵟翔曲\"],\n [\"共鳴\", \"新秩序\", \"w仇\", \"革命\", \"對抗\", \"重逢\", \"甦醒\", \"反逆\"],\n ]\n\n function ctkSplitFlap(ele, texts) {\n for (let i = 0; i < texts.length; i++) {\n setTimeout(function () {\n ele.innerText = texts[i]\n }, 250 * i)\n }\n }\n\n let splitflaps = document.querySelectorAll(\".splitflap\")\n\n if ($(\"html\").attr(\"lang\") == \"zh-TW\") {\n splitflaps.forEach((ele, index) => {\n setInterval(() => {\n ctkSplitFlap(ele, dictionary[index])\n }, 4000)\n })\n } else {\n splitflaps.forEach((ele, index) => {\n splitFlap(ele, texts_set[index], {\n timeOut: 1500,\n tickTimeOut: 100,\n nbJumpIterations: 4,\n })\n })\n }\n\n // 這邊處理opening 中心saga換字,放這不放openingjs是因為要用import\n const brand_texts_set = [\n [\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"5\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n ],\n [\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"5\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n \"S\",\n ],\n ]\n let brand_splitflaps = document.querySelectorAll(\".opening_center .split\")\n brand_splitflaps.forEach((ele, index) => {\n setTimeout(() => {\n splitFlap(ele, brand_texts_set[index], {\n timeOut: 160,\n tickTimeOut: 50,\n nbJumpIterations: 4,\n })\n }, 8000)\n })\n // opening 中心saga換字結束\n\n //Language switch\n var urlPath = window.location.pathname.split(\"/\") //抓當下的 url 用 / 分開\n let lang = urlPath[urlPath.length - 2]\n\n $(\".lang-content li button\").each(function () {\n if ($(this).data(\"lang\") == lang) {\n $(this).addClass(\"active\")\n }\n })\n\n if (lang == \"rog-saga\") {\n $(\".lang-content li button[data-lang='en']\").addClass(\"active\")\n }\n\n function langSwitch() {\n if ($(this).data(\"lang\") == \"en\") {\n window.location.href = \"/rog-saga/\"\n } else {\n window.location.href = \"/rog-saga/de\"\n }\n }\n })\n }\n\n if (document.readyState === \"complete\") {\n runOnClient()\n } else {\n window.addEventListener(\"load\", runOnClient)\n }\n}\n","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; // IE does not include leading slash in anchor.pathname\n\nexport const slashedPathname = pathname => pathname[0] === `/` ? pathname : `/${pathname}`;\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === `a`) {\n return node;\n }\n }\n\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor =>\n/* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(`target`) === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[`_self`, ``].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === `_parent` && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === `_top` && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(`download`) === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol &&\n/* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== `` && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === `` ||\n/* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n const destination = document.createElement(`a`); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== ``) {\n destination.href = clickedAnchor.href;\n }\n\n if (`SVGAnimatedString` in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n const origin = document.createElement(`a`);\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n const pathStartRegEx = new RegExp(`^${escapeStringRegexp(withPrefix(`/`))}`);\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, `/`);\n hrefHandler(`${destinationPathname}${destination.search}${destination.hash}`);\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(`click`, clickHandler);\n return () => root.removeEventListener(`click`, clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = (_, pluginOptions = {}) => {\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\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 * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\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\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\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});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\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};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\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 if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\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 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 var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\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 var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\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};\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 type { GatsbyImageProps } from \"gatsby-plugin-image\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom/client\"\n\nlet hydrateRef\n\nexport function onRouteUpdate(): void {\n if (`requestIdleCallback` in window) {\n if (hydrateRef) {\n // @ts-ignore cancelIdleCallback is on window object\n cancelIdleCallback(hydrateRef)\n }\n\n // @ts-ignore requestIdleCallback is on window object\n hydrateRef = requestIdleCallback(hydrateImages)\n } else {\n if (hydrateRef) {\n clearTimeout(hydrateRef)\n }\n hydrateRef = setTimeout(hydrateImages)\n }\n}\n\nfunction hydrateImages(): void {\n const doc = document\n const inlineWPimages: Array = Array.from(\n doc.querySelectorAll(`[data-wp-inline-image]`)\n )\n\n if (!inlineWPimages.length) {\n return\n }\n\n import(\n /* webpackChunkName: \"gatsby-plugin-image\" */ `gatsby-plugin-image`\n ).then(mod => {\n inlineWPimages.forEach(image => {\n // usually this is the right element to hydrate on\n const grandParentIsGatsbyImage =\n // @ts-ignore-next-line classList is on HTMLElement\n image?.parentNode?.parentNode?.classList?.contains(\n `gatsby-image-wrapper`\n )\n\n // but sometimes this is the right element\n const parentIsGatsbyImage =\n // @ts-ignore-next-line classList is on HTMLElement\n image?.parentNode?.classList?.contains(`gatsby-image-wrapper`)\n\n if (!grandParentIsGatsbyImage && !parentIsGatsbyImage) {\n return\n }\n\n const gatsbyImageHydrationElement = grandParentIsGatsbyImage\n ? image.parentNode.parentNode\n : image.parentNode\n\n if (\n image.dataset &&\n image.dataset.wpInlineImage &&\n gatsbyImageHydrationElement\n ) {\n const hydrationData = doc.querySelector(\n `script[data-wp-inline-image-hydration=\"${image.dataset.wpInlineImage}\"]`\n )\n\n if (hydrationData) {\n const imageProps: GatsbyImageProps = JSON.parse(\n hydrationData.innerHTML\n )\n\n // @ts-ignore - TODO: Fix me\n const root = ReactDOM.createRoot(gatsbyImageHydrationElement)\n root.render(React.createElement(mod.GatsbyImage, imageProps))\n }\n }\n })\n })\n}\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}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({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),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)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass__default[\"default\"](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](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}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_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__default[\"default\"](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n 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$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_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__default[\"default\"](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](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 returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass__default[\"default\"](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.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}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__default[\"default\"](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](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__default[\"default\"](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n 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$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default[\"default\"](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof__default[\"default\"](args[2]) === 'object' || _typeof__default[\"default\"](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default[\"default\"](_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__default[\"default\"](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__default[\"default\"](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","// 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 }\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 (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (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, trimLeadingNewline = options.trimLeadingNewline, 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 (_) { return newline; });\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) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : 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 }\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 (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\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.I18nextProvider = I18nextProvider;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = (0, _react.useMemo)(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return (0, _react.createElement)(_context.I18nContext.Provider, {\n value: value\n }, children);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Trans = Trans;\nObject.defineProperty(exports, \"nodesToString\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.nodesToString;\n }\n});\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction 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 = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _ref2 = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return (0, _TransWithoutContext.Trans)(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.nodesToString = nodesToString;\nexports.Trans = Trans;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _htmlParseStringify = _interopRequireDefault(require(\"html-parse-stringify\"));\n\nvar _utils = require(\"./utils.js\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return (0, _react.isValidElement)(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nfunction 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 ((0, _react.isValidElement)(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if ((0, _typeof2[\"default\"])(child) === 'object') {\n var format = child.format,\n clone = (0, _objectWithoutProperties2[\"default\"])(child, _excluded);\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n (0, _utils.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 (0, _utils.warn)(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if ((0, _typeof2[\"default\"])(child) === 'object' && !(0, _react.isValidElement)(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n\n var ast = _htmlParseStringify[\"default\"].parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = (0, _react.isValidElement)(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && (0, _typeof2[\"default\"])(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = (0, _typeof2[\"default\"])(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push((0, _react.createElement)(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if ((0, _typeof2[\"default\"])(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((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push((0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push((0, _react.createElement)(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nfunction 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 = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded2);\n var i18n = i18nFromProps || (0, _i18nInstance.getI18n)();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _defaults.getDefaults)()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? (0, _react.createElement)(useAsParent, additionalProps, content) : content;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Translation = Translation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _excluded = [\"ns\", \"children\"];\n\nfunction Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = (0, _objectWithoutProperties2[\"default\"])(props, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, options),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.composeInitialProps = composeInitialProps;\nexports.getInitialProps = getInitialProps;\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _defaults.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.getI18n;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _i18nInstance.setI18n;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _initReactI18next.initReactI18next;\n }\n});\nexports.ReportNamespaces = exports.I18nContext = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _react = require(\"react\");\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar _initReactI18next = require(\"./initReactI18next.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar I18nContext = (0, _react.createContext)();\nexports.I18nContext = I18nContext;\n\nvar ReportNamespaces = function () {\n function ReportNamespaces() {\n (0, _classCallCheck2[\"default\"])(this, ReportNamespaces);\n this.usedNamespaces = {};\n }\n\n (0, _createClass2[\"default\"])(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n return ReportNamespaces;\n}();\n\nexports.ReportNamespaces = ReportNamespaces;\n\nfunction composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\n\nfunction getInitialProps() {\n var i18n = (0, _i18nInstance.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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setDefaults = setDefaults;\nexports.getDefaults = getDefaults;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _unescape = require(\"./unescape.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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.unescape\n};\n\nfunction setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\n\nfunction getDefaults() {\n return defaultOptions;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setI18n = setI18n;\nexports.getI18n = getI18n;\nvar i18nInstance;\n\nfunction setI18n(instance) {\n i18nInstance = instance;\n}\n\nfunction getI18n() {\n return i18nInstance;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Trans\", {\n enumerable: true,\n get: function get() {\n return _Trans.Trans;\n }\n});\nObject.defineProperty(exports, \"TransWithoutContext\", {\n enumerable: true,\n get: function get() {\n return _TransWithoutContext.Trans;\n }\n});\nObject.defineProperty(exports, \"useTranslation\", {\n enumerable: true,\n get: function get() {\n return _useTranslation.useTranslation;\n }\n});\nObject.defineProperty(exports, \"withTranslation\", {\n enumerable: true,\n get: function get() {\n return _withTranslation.withTranslation;\n }\n});\nObject.defineProperty(exports, \"Translation\", {\n enumerable: true,\n get: function get() {\n return _Translation.Translation;\n }\n});\nObject.defineProperty(exports, \"I18nextProvider\", {\n enumerable: true,\n get: function get() {\n return _I18nextProvider.I18nextProvider;\n }\n});\nObject.defineProperty(exports, \"withSSR\", {\n enumerable: true,\n get: function get() {\n return _withSSR.withSSR;\n }\n});\nObject.defineProperty(exports, \"useSSR\", {\n enumerable: true,\n get: function get() {\n return _useSSR.useSSR;\n }\n});\nObject.defineProperty(exports, \"I18nContext\", {\n enumerable: true,\n get: function get() {\n return _context.I18nContext;\n }\n});\nObject.defineProperty(exports, \"initReactI18next\", {\n enumerable: true,\n get: function get() {\n return _context.initReactI18next;\n }\n});\nObject.defineProperty(exports, \"setDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.setDefaults;\n }\n});\nObject.defineProperty(exports, \"getDefaults\", {\n enumerable: true,\n get: function get() {\n return _context.getDefaults;\n }\n});\nObject.defineProperty(exports, \"setI18n\", {\n enumerable: true,\n get: function get() {\n return _context.setI18n;\n }\n});\nObject.defineProperty(exports, \"getI18n\", {\n enumerable: true,\n get: function get() {\n return _context.getI18n;\n }\n});\nObject.defineProperty(exports, \"composeInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.composeInitialProps;\n }\n});\nObject.defineProperty(exports, \"getInitialProps\", {\n enumerable: true,\n get: function get() {\n return _context.getInitialProps;\n }\n});\nexports.selectOrdinal = exports.plural = exports.select = exports.number = exports.time = exports.date = void 0;\n\nvar _Trans = require(\"./Trans.js\");\n\nvar _TransWithoutContext = require(\"./TransWithoutContext.js\");\n\nvar _useTranslation = require(\"./useTranslation.js\");\n\nvar _withTranslation = require(\"./withTranslation.js\");\n\nvar _Translation = require(\"./Translation.js\");\n\nvar _I18nextProvider = require(\"./I18nextProvider.js\");\n\nvar _withSSR = require(\"./withSSR.js\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar date = function date() {\n return '';\n};\n\nexports.date = date;\n\nvar time = function time() {\n return '';\n};\n\nexports.time = time;\n\nvar number = function number() {\n return '';\n};\n\nexports.number = number;\n\nvar select = function select() {\n return '';\n};\n\nexports.select = select;\n\nvar plural = function plural() {\n return '';\n};\n\nexports.plural = plural;\n\nvar selectOrdinal = function selectOrdinal() {\n return '';\n};\n\nexports.selectOrdinal = selectOrdinal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initReactI18next = void 0;\n\nvar _defaults = require(\"./defaults.js\");\n\nvar _i18nInstance = require(\"./i18nInstance.js\");\n\nvar initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n (0, _defaults.setDefaults)(instance.options.react);\n (0, _i18nInstance.setI18n)(instance);\n }\n};\nexports.initReactI18next = initReactI18next;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unescape = void 0;\nvar matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nvar unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};\n\nexports.unescape = unescape;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useSSR = useSSR;\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nfunction useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useTranslation = useTranslation;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = require(\"react\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = (0, _react.useRef)();\n (0, _react.useEffect)(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nfunction useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = (0, _react.useContext)(_context.I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new _context.ReportNamespaces();\n\n if (!i18n) {\n (0, _utils.warnOnce)('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) (0, _utils.warnOnce)('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return (0, _utils.hasLoadedNamespace)(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = (0, _react.useState)(getT),\n _useState2 = (0, _slicedToArray2[\"default\"])(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = (0, _react.useRef)(true);\n (0, _react.useEffect)(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n (0, _utils.loadNamespaces)(i18n, namespaces, function () {\n resolve();\n });\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warn = warn;\nexports.warnOnce = warnOnce;\nexports.loadNamespaces = loadNamespaces;\nexports.hasLoadedNamespace = hasLoadedNamespace;\nexports.getDisplayName = getDisplayName;\n\nfunction warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\n\nvar alreadyWarned = {};\n\nfunction warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\n\nfunction loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nfunction hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withSSR = withSSR;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useSSR = require(\"./useSSR.js\");\n\nvar _context = require(\"./context.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n (0, _useSSR.useSSR)(initialI18nStore, initialLanguage);\n return (0, _react.createElement)(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = (0, _context.composeInitialProps)(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withTranslation = withTranslation;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = require(\"react\");\n\nvar _useTranslation3 = require(\"./useTranslation.js\");\n\nvar _utils = require(\"./utils.js\");\n\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction 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 = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n var _useTranslation = (0, _useTranslation3.useTranslation)(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = (0, _slicedToArray2[\"default\"])(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return (0, _react.createElement)(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat((0, _utils.getDisplayName)(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return (0, _react.createElement)(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? (0, _react.forwardRef)(forwardRef) : I18nextWithTranslation;\n };\n}","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d 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;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, 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 _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, 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;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\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 arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, 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.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `