{"version":3,"file":"app-e64d4014c549b6a7f3d1.js","mappings":"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","sources":["webpack://my-gatsby-site/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://my-gatsby-site/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://my-gatsby-site/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://my-gatsby-site/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://my-gatsby-site/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://my-gatsby-site/./.cache/api-runner-browser-plugins.js","webpack://my-gatsby-site/./.cache/api-runner-browser.js","webpack://my-gatsby-site/./.cache/emitter.js","webpack://my-gatsby-site/./node_modules/mitt/dist/mitt.es.js","webpack://my-gatsby-site/./.cache/normalize-page-path.js","webpack://my-gatsby-site/./.cache/find-path.js","webpack://my-gatsby-site/./.cache/gatsby-browser-entry.js","webpack://my-gatsby-site/./.cache/prefetch.js","webpack://my-gatsby-site/./.cache/loader.js","webpack://my-gatsby-site/./.cache/head/components/fire-callback-in-effect.js","webpack://my-gatsby-site/./.cache/head/constants.js","webpack://my-gatsby-site/./.cache/head/utils.js","webpack://my-gatsby-site/./.cache/head/head-export-handler-for-browser.js","webpack://my-gatsby-site/./.cache/page-renderer.js","webpack://my-gatsby-site/./.cache/route-announcer-props.js","webpack://my-gatsby-site/./.cache/navigation.js","webpack://my-gatsby-site/./node_modules/shallow-compare/es/index.js","webpack://my-gatsby-site/./.cache/ensure-resources.js","webpack://my-gatsby-site/./.cache/production-app.js","webpack://my-gatsby-site/./.cache/public-page-renderer-prod.js","webpack://my-gatsby-site/./.cache/public-page-renderer.js","webpack://my-gatsby-site/./.cache/react-dom-utils.js","webpack://my-gatsby-site/./.cache/redirect-utils.js","webpack://my-gatsby-site/./.cache/register-service-worker.js","webpack://my-gatsby-site/./.cache/slice/context.js","webpack://my-gatsby-site/./.cache/static-query.js","webpack://my-gatsby-site/./.cache/context-utils.js","webpack://my-gatsby-site/./.cache/strip-prefix.js","webpack://my-gatsby-site/./gatsby-browser.js","webpack://my-gatsby-site/../src/lib/history.js","webpack://my-gatsby-site/../src/lib/hooks-create-context.js","webpack://my-gatsby-site/../src/lib/hooks-use-context.js","webpack://my-gatsby-site/../src/lib/redirect.js","webpack://my-gatsby-site/../src/lib/utils.js","webpack://my-gatsby-site/../src/lib/link.js","webpack://my-gatsby-site/../src/lib/error-boundary.js","webpack://my-gatsby-site/../src/lib/location-provider.js","webpack://my-gatsby-site/../src/lib/location.js","webpack://my-gatsby-site/../src/lib/location-server.js","webpack://my-gatsby-site/../src/lib/match.js","webpack://my-gatsby-site/../src/lib/focus-handler.js","webpack://my-gatsby-site/../src/lib/router.js","webpack://my-gatsby-site/../src/hooks/use-location.js","webpack://my-gatsby-site/../src/hooks/use-navigate.js","webpack://my-gatsby-site/../src/hooks/use-params.js","webpack://my-gatsby-site/../src/hooks/use-match.js","webpack://my-gatsby-site/./node_modules/gatsby-react-router-scroll/index.js","webpack://my-gatsby-site/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://my-gatsby-site/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://my-gatsby-site/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://my-gatsby-site/./node_modules/invariant/browser.js","webpack://my-gatsby-site/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://my-gatsby-site/./node_modules/react-server-dom-webpack/index.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://my-gatsby-site/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\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-templates-page-js\": () => import(\"./../../../src/templates/page.js\" /* webpackChunkName: \"component---src-templates-page-js\" */),\n \"component---src-templates-sitemap-js\": () => import(\"./../../../src/templates/sitemap.js\" /* webpackChunkName: \"component---src-templates-sitemap-js\" */)\n}\n\n","module.exports = [{\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","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","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