{"version":3,"file":"static/chunks/main-8ada2d8a575f65d0.js","mappings":"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AAK,CACL,uCACA,QACA,CAAK,CACL,kCACA,QACA,CAAK,CACL,0BACA,QACA,CAAK,CACL,yCACA,QACA,CAAK,CACL,+BACA,QACA,CAAK,CACL,+BACA,QACA,CAAK,CACL,sCACA,QACA,CAAK,CACL,4BACA,QACA,CAAK,CACL,sCACA,QACA,CAAK,CACL,8CACA,QACA,CAAK,CACL,kDACA,QACA,CAAK,CACL,0CACA,QACA,CAAK,CACL,kCACA,QACA,CAAK,CACL,oCACA,QACA,CAAK,CACL,qCACA,QACA,CAAK,CACL,4BACA,QACA,CAAK,CACL,2CACA,QACA,CAAK,CACL,4BACA,QACA,CAAK,CACL,mCACA,QACA,CAAK,CACL,8BACA,QACA,CAAK,CACL,iCACA,QACA,CAAK,CACL,2BACA,QACA,CAAK,CACL,uCACA,QACA,CAAK,CACL,sDACA,QACA,CAAK,CACL,0CACA,QACA,CAAK,CACL,0BACA,QACA,CAAK,CACL,2CACA,QACA,CAAK,CACL,uCACA,QACA,CAAK,CACL,kCACA,QACA,CAAK,CACL,qCACA,QACA,CAAK,CACL,mCACA,QACA,CAAK,CACL,mCACA,QACA,CAAK,CACL,+BACA,QACA,CAAK,CACL,mCACA,QACA,CAAK,CACL,8BACA,QACA,CAAK,CACL,sBACA,QACA,CAAK,CACL,qCACA,QACA,CAAK,CACL,gDACA,QACA,CAAK,CACL,qCACA,QACA,CAAK,CACL,0BACA,QACA,CAAK,CACL,qCACA,QACA,CAAK,CACL,0CACA,QACA,CAAK,CACL,sDACA,QACA,CAAK,CACL,4CACA,QACA,CAAK,CACL,0BACA,QACA,CAAK,CACL,oCACA,SACA,CACA,CAAC,EACD,aACA,SACA,mBACA,2BACA,wCACA,kBACA,cACA,iBACA,SACA,YACA,UACA,UACA,UACA,sBACA,4BACA,gCACA,gBACA,MACA,MACA,OACA,UACA,UACA,aACA,eACA,cAA+C,EAAoB,EACnE,oBACA,uBACA,qBACA,0BACA,yBACA,mCACA,qCACA,sCACA,mCACA,uCACA,2CACA,kLACA,w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","sources":["webpack://_N_E/../../../src/shared/lib/encode-uri-path.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/as-path-to-search-params.ts","webpack://_N_E/../../../src/shared/lib/head.tsx","webpack://_N_E/../../node_modules/next/dist/lib/is-error.js","webpack://_N_E/../../../../../src/shared/lib/router/utils/path-has-prefix.ts","webpack://_N_E/../../src/client/request-idle-callback.ts","webpack://_N_E/../../../../src/shared/lib/router/adapters.tsx","webpack://_N_E/../../../src/shared/lib/modern-browserslist-target.js","webpack://_N_E/../../src/client/detect-domain-locale.ts","webpack://_N_E/../../src/client/webpack.ts","webpack://_N_E/../../../src/shared/lib/is-plain-object.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/sorted-routes.ts","webpack://_N_E/../../node_modules/next/dist/build/deployment-id.js","webpack://_N_E/../../../../../src/shared/lib/router/utils/is-bot.ts","webpack://_N_E/../../node_modules/next/dist/build/polyfills/polyfill-module.js","webpack://_N_E/../../../src/client/react-client-callbacks/report-global-error.ts","webpack://_N_E/../../src/client/resolve-href.ts","webpack://_N_E/../../src/pages/_app.tsx","webpack://_N_E/../../../../../src/shared/lib/router/utils/format-url.ts","webpack://_N_E/../../../src/shared/lib/constants.ts","webpack://_N_E/../../../../src/shared/lib/utils/warn-once.ts","webpack://_N_E/../../node_modules/next/dist/compiled/process/browser.js","webpack://_N_E/../../../src/client/components/is-next-router-error.ts","webpack://_N_E/../../../src/shared/lib/bloom-filter.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/add-path-suffix.ts","webpack://_N_E/../../src/pages/_error.tsx","webpack://_N_E/../../../../../src/shared/lib/router/utils/get-next-pathname-info.ts","webpack://_N_E/../../../../src/shared/lib/i18n/normalize-locale-path.ts","webpack://_N_E/../../node_modules/next/node_modules/@swc/helpers/esm/_interop_require_default.js","webpack://_N_E/../../src/client/add-locale.ts","webpack://_N_E/../../../../src/client/components/http-access-fallback/http-access-fallback.ts","webpack://_N_E/../../../src/shared/lib/image-config.ts","webpack://_N_E/../../node_modules/next/dist/build/polyfills/process.js","webpack://_N_E/../../../src/shared/lib/utils.ts","webpack://_N_E/../../src/client/remove-locale.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/index.ts","webpack://_N_E/../../../../src/client/components/errors/stitched-error.ts","webpack://_N_E/../../../src/shared/lib/runtime-config.external.ts","webpack://_N_E/../../../src/client/tracing/tracer.ts","webpack://_N_E/../../../src/client/portal/index.tsx","webpack://_N_E/../../../../../src/shared/lib/router/utils/parse-path.ts","webpack://_N_E/../../../src/shared/lib/amp-context.shared-runtime.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/remove-trailing-slash.ts","webpack://_N_E/../../../src/shared/lib/image-config-context.shared-runtime.ts","webpack://_N_E/../../src/client/normalize-trailing-slash.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/interpolate-as.ts","webpack://_N_E/../../../../src/shared/lib/router/router.ts","webpack://_N_E/../../../../src/shared/lib/lazy-dynamic/bailout-to-csr.ts","webpack://_N_E/../../../src/shared/lib/segment.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/remove-path-prefix.ts","webpack://_N_E/../../../../src/shared/lib/page-path/ensure-leading-slash.ts","webpack://_N_E/../../src/client/index.tsx","webpack://_N_E/../../../src/shared/lib/amp-mode.ts","webpack://_N_E/../../node_modules/next/dist/lib/error-telemetry-utils.js","webpack://_N_E/../../src/client/router.ts","webpack://_N_E/../../../src/shared/lib/side-effect.tsx","webpack://_N_E/../../../../src/shared/lib/page-path/denormalize-page-path.ts","webpack://_N_E/../../src/client/next.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/add-locale.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/querystring.ts","webpack://_N_E/ignored|/opt/atlassian/pipelines/agent/build/node_modules/next/dist/shared/lib/router|./utils/resolve-rewrites","webpack://_N_E/../../../../../src/shared/lib/router/utils/omit.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/format-next-pathname-info.ts","webpack://_N_E/../../../src/shared/lib/head-manager-context.shared-runtime.ts","webpack://_N_E/../../../src/client/components/redirect-error.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/add-path-prefix.ts","webpack://_N_E/../../src/client/route-announcer.tsx","webpack://_N_E/../../../../../src/shared/lib/router/utils/app-paths.ts","webpack://_N_E/../../../src/shared/lib/escape-regexp.ts","webpack://_N_E/../../src/client/page-loader.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/html-bots.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/is-local-url.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/interception-routes.ts","webpack://_N_E/../../src/client/route-loader.ts","webpack://_N_E/../../../src/shared/lib/hooks-client-context.shared-runtime.ts","webpack://_N_E/../../src/client/set-attributes-from-props.ts","webpack://_N_E/../../src/client/head-manager.ts","webpack://_N_E/../../../src/shared/lib/app-router-context.shared-runtime.ts","webpack://_N_E/../../node_modules/next/dist/lib/is-api-route.js","webpack://_N_E/../../../../../src/shared/lib/router/utils/route-regex.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/compare-states.ts","webpack://_N_E/../../../../src/shared/lib/page-path/normalize-path-sep.ts","webpack://_N_E/../../src/client/script.tsx","webpack://_N_E/../../node_modules/next/node_modules/@swc/helpers/esm/_interop_require_wildcard.js","webpack://_N_E/../../src/client/remove-base-path.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/parse-relative-url.ts","webpack://_N_E/../../../src/client/components/redirect-status-code.ts","webpack://_N_E/../../../src/shared/lib/router-context.shared-runtime.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/get-asset-path-from-route.ts","webpack://_N_E/../../src/client/trusted-types.ts","webpack://_N_E/../../../src/client/react-client-callbacks/on-recoverable-error.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/is-dynamic.ts","webpack://_N_E/../../src/client/with-router.tsx","webpack://_N_E/../../node_modules/next/dist/lib/constants.js","webpack://_N_E/../../../../../src/shared/lib/router/utils/handle-smooth-scroll.ts","webpack://_N_E/../../../src/shared/lib/mitt.ts","webpack://_N_E/../../../../../src/shared/lib/router/utils/route-matcher.ts","webpack://_N_E/../../src/client/add-base-path.ts","webpack://_N_E/../../src/client/has-base-path.ts"],"sourcesContent":["export function encodeURIPath(file: string) {\n return file\n .split('/')\n .map((p) => encodeURIComponent(p))\n .join('/')\n}\n","// Convert router.asPath to a URLSearchParams object\n// example: /dynamic/[slug]?foo=bar -> { foo: 'bar' }\nexport function asPathToSearchParams(asPath: string): URLSearchParams {\n return new URL(asPath, 'http://n').searchParams\n}\n","'use client'\n\nimport React, { useContext, type JSX } from 'react'\nimport Effect from './side-effect'\nimport { AmpStateContext } from './amp-context.shared-runtime'\nimport { HeadManagerContext } from './head-manager-context.shared-runtime'\nimport { isInAmpMode } from './amp-mode'\nimport { warnOnce } from './utils/warn-once'\n\ntype WithInAmpMode = {\n inAmpMode?: boolean\n}\n\nexport function defaultHead(inAmpMode = false): JSX.Element[] {\n const head = []\n if (!inAmpMode) {\n head.push(\n \n )\n }\n return head\n}\n\nfunction onlyReactElement(\n list: Array>,\n child: React.ReactElement | number | string\n): Array> {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list\n }\n // Adds support for React.Fragment\n if (child.type === React.Fragment) {\n return list.concat(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n React.Children.toArray(child.props.children).reduce(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n (\n fragmentList: Array>,\n fragmentChild: React.ReactElement | number | string\n ): Array> => {\n if (\n typeof fragmentChild === 'string' ||\n typeof fragmentChild === 'number'\n ) {\n return fragmentList\n }\n return fragmentList.concat(fragmentChild)\n },\n []\n )\n )\n }\n return list.concat(child)\n}\n\nconst METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']\n\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/\nfunction unique() {\n const keys = new Set()\n const tags = new Set()\n const metaTypes = new Set()\n const metaCategories: { [metatype: string]: Set<string> } = {}\n\n return (h: React.ReactElement<any>) => {\n let isUnique = true\n let hasKey = false\n\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true\n const key = h.key.slice(h.key.indexOf('$') + 1)\n if (keys.has(key)) {\n isUnique = false\n } else {\n keys.add(key)\n }\n }\n\n // eslint-disable-next-line default-case\n switch (h.type) {\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false\n } else {\n tags.add(h.type)\n }\n break\n case 'meta':\n for (let i = 0, len = METATYPES.length; i < len; i++) {\n const metatype = METATYPES[i]\n if (!h.props.hasOwnProperty(metatype)) continue\n\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false\n } else {\n metaTypes.add(metatype)\n }\n } else {\n const category = h.props[metatype]\n const categories = metaCategories[metatype] || new Set()\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false\n } else {\n categories.add(category)\n metaCategories[metatype] = categories\n }\n }\n }\n break\n }\n\n return isUnique\n }\n}\n\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */\nfunction reduceComponents<T extends {} & WithInAmpMode>(\n headChildrenElements: Array<React.ReactElement<any>>,\n props: T\n) {\n const { inAmpMode } = props\n return headChildrenElements\n .reduce(onlyReactElement, [])\n .reverse()\n .concat(defaultHead(inAmpMode).reverse())\n .filter(unique())\n .reverse()\n .map((c: React.ReactElement<any>, i: number) => {\n const key = c.key || i\n if (\n process.env.NODE_ENV !== 'development' &&\n process.env.__NEXT_OPTIMIZE_FONTS &&\n !inAmpMode\n ) {\n if (\n c.type === 'link' &&\n c.props['href'] &&\n // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.\n ['https://fonts.googleapis.com/css', 'https://use.typekit.net/'].some(\n (url) => c.props['href'].startsWith(url)\n )\n ) {\n const newProps = { ...(c.props || {}) }\n newProps['data-href'] = newProps['href']\n newProps['href'] = undefined\n\n // Add this attribute to make it easy to identify optimized tags\n newProps['data-optimized-fonts'] = true\n\n return React.cloneElement(c, newProps)\n }\n }\n if (process.env.NODE_ENV === 'development') {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src']\n ? `<script> tag with src=\"${c.props['src']}\"`\n : `inline <script>`\n warnOnce(\n `Do not add <script> tags using next/head (see ${srcMessage}). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component`\n )\n } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') {\n warnOnce(\n `Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"${c.props['href']}\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component`\n )\n }\n }\n return React.cloneElement(c, { key })\n })\n}\n\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */\nfunction Head({ children }: { children: React.ReactNode }) {\n const ampState = useContext(AmpStateContext)\n const headManager = useContext(HeadManagerContext)\n return (\n <Effect\n reduceComponentsToState={reduceComponents}\n headManager={headManager}\n inAmpMode={isInAmpMode(ampState)}\n >\n {children}\n </Effect>\n )\n}\n\nexport default Head\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n0 && (module.exports = {\n default: null,\n getProperError: null\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n /**\n * Checks whether the given value is a NextError.\n * This can be used to print a more detailed error message with properties like `code` & `digest`.\n */ default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = require(\"../shared/lib/is-plain-object\");\nfunction isError(err) {\n return typeof err === 'object' && err !== null && 'name' in err && 'message' in err;\n}\nfunction safeStringify(obj) {\n const seen = new WeakSet();\n return JSON.stringify(obj, (_key, value)=>{\n // If value is an object and already seen, replace with \"[Circular]\"\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]';\n }\n seen.add(value);\n }\n return value;\n });\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (process.env.NODE_ENV === 'development') {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === 'undefined') {\n return Object.defineProperty(new Error('An undefined error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E98\",\n enumerable: false,\n configurable: true\n });\n }\n if (err === null) {\n return Object.defineProperty(new Error('A null error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E336\",\n enumerable: false,\n configurable: true\n });\n }\n }\n return Object.defineProperty(new Error((0, _isplainobject.isPlainObject)(err) ? safeStringify(err) : err + ''), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n}\n\n//# sourceMappingURL=is-error.js.map","import { parsePath } from './parse-path'\n\n/**\n * Checks if a given path starts with a given prefix. It ensures it matches\n * exactly without containing extra chars. e.g. prefix /docs should replace\n * for /docs, /docs/, /docs/a but not /docsss\n * @param path The path to check.\n * @param prefix The prefix to check against.\n */\nexport function pathHasPrefix(path: string, prefix: string) {\n if (typeof path !== 'string') {\n return false\n }\n\n const { pathname } = parsePath(path)\n return pathname === prefix || pathname.startsWith(prefix + '/')\n}\n","export const requestIdleCallback =\n (typeof self !== 'undefined' &&\n self.requestIdleCallback &&\n self.requestIdleCallback.bind(window)) ||\n function (cb: IdleRequestCallback): number {\n let start = Date.now()\n return self.setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start))\n },\n })\n }, 1)\n }\n\nexport const cancelIdleCallback =\n (typeof self !== 'undefined' &&\n self.cancelIdleCallback &&\n self.cancelIdleCallback.bind(window)) ||\n function (id: number) {\n return clearTimeout(id)\n }\n","import type { AppRouterInstance } from '../app-router-context.shared-runtime'\nimport type { Params } from '../../../server/request/params'\nimport type { NextRouter } from './router'\n\nimport React, { useMemo, useRef } from 'react'\nimport { PathnameContext } from '../hooks-client-context.shared-runtime'\nimport { isDynamicRoute } from './utils'\nimport { asPathToSearchParams } from './utils/as-path-to-search-params'\nimport { getRouteRegex } from './utils/route-regex'\n\n/** It adapts a Pages Router (`NextRouter`) to the App Router Instance. */\nexport function adaptForAppRouterInstance(\n pagesRouter: NextRouter\n): AppRouterInstance {\n return {\n back() {\n pagesRouter.back()\n },\n forward() {\n pagesRouter.forward()\n },\n refresh() {\n pagesRouter.reload()\n },\n hmrRefresh() {},\n push(href, { scroll } = {}) {\n void pagesRouter.push(href, undefined, { scroll })\n },\n replace(href, { scroll } = {}) {\n void pagesRouter.replace(href, undefined, { scroll })\n },\n prefetch(href) {\n void pagesRouter.prefetch(href)\n },\n }\n}\n\n/**\n * adaptForSearchParams transforms the ParsedURLQuery into URLSearchParams.\n *\n * @param router the router that contains the query.\n * @returns the search params in the URLSearchParams format\n */\nexport function adaptForSearchParams(\n router: Pick<NextRouter, 'isReady' | 'query' | 'asPath'>\n): URLSearchParams {\n if (!router.isReady || !router.query) {\n return new URLSearchParams()\n }\n\n return asPathToSearchParams(router.asPath)\n}\n\nexport function adaptForPathParams(\n router: Pick<NextRouter, 'isReady' | 'pathname' | 'query' | 'asPath'>\n): Params | null {\n if (!router.isReady || !router.query) {\n return null\n }\n const pathParams: Params = {}\n const routeRegex = getRouteRegex(router.pathname)\n const keys = Object.keys(routeRegex.groups)\n for (const key of keys) {\n pathParams[key] = router.query[key]!\n }\n return pathParams\n}\n\nexport function PathnameContextProviderAdapter({\n children,\n router,\n ...props\n}: React.PropsWithChildren<{\n router: Pick<NextRouter, 'pathname' | 'asPath' | 'isReady' | 'isFallback'>\n isAutoExport: boolean\n}>) {\n const ref = useRef(props.isAutoExport)\n const value = useMemo(() => {\n // isAutoExport is only ever `true` on the first render from the server,\n // so reset it to `false` after we read it for the first time as `true`. If\n // we don't use the value, then we don't need it.\n const isAutoExport = ref.current\n if (isAutoExport) {\n ref.current = false\n }\n\n // When the route is a dynamic route, we need to do more processing to\n // determine if we need to stop showing the pathname.\n if (isDynamicRoute(router.pathname)) {\n // When the router is rendering the fallback page, it can't possibly know\n // the path, so return `null` here. Read more about fallback pages over\n // at:\n // https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-pages\n if (router.isFallback) {\n return null\n }\n\n // When `isAutoExport` is true, meaning this is a page page has been\n // automatically statically optimized, and the router is not ready, then\n // we can't know the pathname yet. Read more about automatic static\n // optimization at:\n // https://nextjs.org/docs/advanced-features/automatic-static-optimization\n if (isAutoExport && !router.isReady) {\n return null\n }\n }\n\n // The `router.asPath` contains the pathname seen by the browser (including\n // any query strings), so it should have that stripped. Read more about the\n // `asPath` option over at:\n // https://nextjs.org/docs/api-reference/next/router#router-object\n let url: URL\n try {\n url = new URL(router.asPath, 'http://f')\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n return '/'\n }\n\n return url.pathname\n }, [router.asPath, router.isFallback, router.isReady, router.pathname])\n\n return (\n <PathnameContext.Provider value={value}>\n {children}\n </PathnameContext.Provider>\n )\n}\n","// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */\nconst MODERN_BROWSERSLIST_TARGET = [\n 'chrome 64',\n 'edge 79',\n 'firefox 67',\n 'opera 51',\n 'safari 12',\n]\n\nmodule.exports = MODERN_BROWSERSLIST_TARGET\n","import type { detectDomainLocale as Fn } from '../shared/lib/i18n/detect-domain-locale'\n\nexport const detectDomainLocale: typeof Fn = (...args) => {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return require('../shared/lib/i18n/detect-domain-locale').detectDomainLocale(\n ...args\n )\n }\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const __webpack_require__: any\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare let __webpack_public_path__: string\n\nimport { getDeploymentIdQueryOrEmptyString } from '../build/deployment-id'\n\n// If we have a deployment ID, we need to append it to the webpack chunk names\n// I am keeping the process check explicit so this can be statically optimized\nif (process.env.NEXT_DEPLOYMENT_ID) {\n const suffix = getDeploymentIdQueryOrEmptyString()\n // eslint-disable-next-line no-undef\n const getChunkScriptFilename = __webpack_require__.u\n // eslint-disable-next-line no-undef\n __webpack_require__.u = (...args: any[]) =>\n // We enode the chunk filename because our static server matches against and encoded\n // filename path.\n getChunkScriptFilename(...args) + suffix\n\n // eslint-disable-next-line no-undef\n const getChunkCssFilename = __webpack_require__.k\n // eslint-disable-next-line no-undef\n __webpack_require__.k = (...args: any[]) =>\n getChunkCssFilename(...args) + suffix\n\n // eslint-disable-next-line no-undef\n const getMiniCssFilename = __webpack_require__.miniCssF\n // eslint-disable-next-line no-undef\n __webpack_require__.miniCssF = (...args: any[]) =>\n getMiniCssFilename(...args) + suffix\n}\n\n// Ignore the module ID transform in client.\n;(self as any).__next_set_public_path__ = (path: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n __webpack_public_path__ = path\n}\n\nexport {}\n","export function getObjectClassLabel(value: any): string {\n return Object.prototype.toString.call(value)\n}\n\nexport function isPlainObject(value: any): boolean {\n if (getObjectClassLabel(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */\n return prototype === null || prototype.hasOwnProperty('isPrototypeOf')\n}\n","class UrlNode {\n placeholder: boolean = true\n children: Map<string, UrlNode> = new Map()\n slugName: string | null = null\n restSlugName: string | null = null\n optionalRestSlugName: string | null = null\n\n insert(urlPath: string): void {\n this._insert(urlPath.split('/').filter(Boolean), [], false)\n }\n\n smoosh(): string[] {\n return this._smoosh()\n }\n\n private _smoosh(prefix: string = '/'): string[] {\n const childrenPaths = [...this.children.keys()].sort()\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[]'), 1)\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[...]'), 1)\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf('[[...]]'), 1)\n }\n\n const routes = childrenPaths\n .map((c) => this.children.get(c)!._smoosh(`${prefix}${c}/`))\n .reduce((prev, curr) => [...prev, ...curr], [])\n\n if (this.slugName !== null) {\n routes.push(\n ...this.children.get('[]')!._smoosh(`${prefix}[${this.slugName}]/`)\n )\n }\n\n if (!this.placeholder) {\n const r = prefix === '/' ? '/' : prefix.slice(0, -1)\n if (this.optionalRestSlugName != null) {\n throw new Error(\n `You cannot define a route with the same specificity as a optional catch-all route (\"${r}\" and \"${r}[[...${this.optionalRestSlugName}]]\").`\n )\n }\n\n routes.unshift(r)\n }\n\n if (this.restSlugName !== null) {\n routes.push(\n ...this.children\n .get('[...]')!\n ._smoosh(`${prefix}[...${this.restSlugName}]/`)\n )\n }\n\n if (this.optionalRestSlugName !== null) {\n routes.push(\n ...this.children\n .get('[[...]]')!\n ._smoosh(`${prefix}[[...${this.optionalRestSlugName}]]/`)\n )\n }\n\n return routes\n }\n\n private _insert(\n urlPaths: string[],\n slugNames: string[],\n isCatchAll: boolean\n ): void {\n if (urlPaths.length === 0) {\n this.placeholder = false\n return\n }\n\n if (isCatchAll) {\n throw new Error(`Catch-all must be the last part of the URL.`)\n }\n\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0]\n\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith('[') && nextSegment.endsWith(']')) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1)\n\n let isOptional = false\n if (segmentName.startsWith('[') && segmentName.endsWith(']')) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1)\n isOptional = true\n }\n\n if (segmentName.startsWith('…')) {\n throw new Error(\n `Detected a three-dot character ('…') at ('${segmentName}'). Did you mean ('...')?`\n )\n }\n\n if (segmentName.startsWith('...')) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3)\n isCatchAll = true\n }\n\n if (segmentName.startsWith('[') || segmentName.endsWith(']')) {\n throw new Error(\n `Segment names may not start or end with extra brackets ('${segmentName}').`\n )\n }\n\n if (segmentName.startsWith('.')) {\n throw new Error(\n `Segment names may not start with erroneous periods ('${segmentName}').`\n )\n }\n\n function handleSlug(previousSlug: string | null, nextSlug: string) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\n `You cannot use different slug names for the same dynamic path ('${previousSlug}' !== '${nextSlug}').`\n )\n }\n }\n\n slugNames.forEach((slug) => {\n if (slug === nextSlug) {\n throw new Error(\n `You cannot have the same slug name \"${nextSlug}\" repeat within a single dynamic path`\n )\n }\n\n if (slug.replace(/\\W/g, '') === nextSegment.replace(/\\W/g, '')) {\n throw new Error(\n `You cannot have the slug names \"${slug}\" and \"${nextSlug}\" differ only by non-word symbols within a single dynamic path`\n )\n }\n })\n\n slugNames.push(nextSlug)\n }\n\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error(\n `You cannot use both an required and optional catch-all route at the same level (\"[...${this.restSlugName}]\" and \"${urlPaths[0]}\" ).`\n )\n }\n\n handleSlug(this.optionalRestSlugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = '[[...]]'\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error(\n `You cannot use both an optional and required catch-all route at the same level (\"[[...${this.optionalRestSlugName}]]\" and \"${urlPaths[0]}\").`\n )\n }\n\n handleSlug(this.restSlugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = '[...]'\n }\n } else {\n if (isOptional) {\n throw new Error(\n `Optional route parameters are not yet supported (\"${urlPaths[0]}\").`\n )\n }\n handleSlug(this.slugName, segmentName)\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = '[]'\n }\n }\n\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode())\n }\n\n this.children\n .get(nextSegment)!\n ._insert(urlPaths.slice(1), slugNames, isCatchAll)\n }\n}\n\nexport function getSortedRoutes(\n normalizedPages: ReadonlyArray<string>\n): string[] {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode()\n\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath) => root.insert(pagePath))\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh()\n}\n\nexport function getSortedRouteObjects<T>(\n objects: T[],\n getter: (obj: T) => string\n): T[] {\n // We're assuming here that all the pathnames are unique, that way we can\n // sort the list and use the index as the key.\n const indexes: Record<string, number> = {}\n const pathnames: string[] = []\n for (let i = 0; i < objects.length; i++) {\n const pathname = getter(objects[i])\n indexes[pathname] = i\n pathnames[i] = pathname\n }\n\n // Sort the pathnames.\n const sorted = getSortedRoutes(pathnames)\n\n // Map the sorted pathnames back to the original objects using the new sorted\n // index.\n return sorted.map((pathname) => objects[indexes[pathname]])\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", {\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n});\nfunction getDeploymentIdQueryOrEmptyString() {\n if (process.env.NEXT_DEPLOYMENT_ID) {\n return `?dpl=${process.env.NEXT_DEPLOYMENT_ID}`;\n }\n return '';\n}\n\n//# sourceMappingURL=deployment-id.js.map","import { HTML_LIMITED_BOT_UA_RE } from './html-bots'\n\n// Bot crawler that will spin up a headless browser and execute JS\nconst HEADLESS_BROWSER_BOT_UA_RE =\n /Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i\n\nexport const HTML_LIMITED_BOT_UA_RE_STRING = HTML_LIMITED_BOT_UA_RE.source\n\nexport { HTML_LIMITED_BOT_UA_RE }\n\nfunction isDomBotUA(userAgent: string) {\n return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent)\n}\n\nfunction isHtmlLimitedBotUA(userAgent: string) {\n return HTML_LIMITED_BOT_UA_RE.test(userAgent)\n}\n\nexport function isBot(userAgent: string): boolean {\n return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent)\n}\n\nexport function getBotType(userAgent: string): 'dom' | 'html' | undefined {\n if (isDomBotUA(userAgent)) {\n return 'dom'\n }\n if (isHtmlLimitedBotUA(userAgent)) {\n return 'html'\n }\n return undefined\n}\n","\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}),Object.hasOwn||(Object.hasOwn=function(t,r){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");return Object.prototype.hasOwnProperty.call(Object(t),r)}),\"canParse\"in URL||(URL.canParse=function(t,r){try{return!!new URL(t,r)}catch(t){return!1}});\n","export const reportGlobalError =\n typeof reportError === 'function'\n ? // In modern browsers, reportError will dispatch an error event,\n // emulating an uncaught JavaScript error.\n reportError\n : (error: unknown) => {\n // TODO: Dispatch error event\n globalThis.console.error(error)\n }\n","import type { NextRouter, Url } from '../shared/lib/router/router'\n\nimport { searchParamsToUrlQuery } from '../shared/lib/router/utils/querystring'\nimport { formatWithValidation } from '../shared/lib/router/utils/format-url'\nimport { omit } from '../shared/lib/router/utils/omit'\nimport { normalizeRepeatedSlashes } from '../shared/lib/utils'\nimport { normalizePathTrailingSlash } from './normalize-trailing-slash'\nimport { isLocalURL } from '../shared/lib/router/utils/is-local-url'\nimport { isDynamicRoute } from '../shared/lib/router/utils'\nimport { interpolateAs } from '../shared/lib/router/utils/interpolate-as'\n\n/**\n * Resolves a given hyperlink with a certain router state (basePath not included).\n * Preserves absolute urls.\n */\nexport function resolveHref(\n router: NextRouter,\n href: Url,\n resolveAs: true\n): [string, string] | [string]\nexport function resolveHref(\n router: NextRouter,\n href: Url,\n resolveAs?: false\n): string\nexport function resolveHref(\n router: NextRouter,\n href: Url,\n resolveAs?: boolean\n): [string, string] | [string] | string {\n // we use a dummy base url for relative urls\n let base: URL\n let urlAsString = typeof href === 'string' ? href : formatWithValidation(href)\n\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//)\n const urlAsStringNoProto = urlProtoMatch\n ? urlAsString.slice(urlProtoMatch[0].length)\n : urlAsString\n\n const urlParts = urlAsStringNoProto.split('?', 1)\n\n if ((urlParts[0] || '').match(/(\\/\\/|\\\\)/)) {\n console.error(\n `Invalid href '${urlAsString}' passed to next/router in page: '${router.pathname}'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.`\n )\n const normalizedUrl = normalizeRepeatedSlashes(urlAsStringNoProto)\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : '') + normalizedUrl\n }\n\n // Return because it cannot be routed by the Next.js router\n if (!isLocalURL(urlAsString)) {\n return (resolveAs ? [urlAsString] : urlAsString) as string\n }\n\n try {\n base = new URL(\n urlAsString.startsWith('#') ? router.asPath : router.pathname,\n 'http://n'\n )\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL('/', 'http://n')\n }\n\n try {\n const finalUrl = new URL(urlAsString, base)\n finalUrl.pathname = normalizePathTrailingSlash(finalUrl.pathname)\n let interpolatedAs = ''\n\n if (\n isDynamicRoute(finalUrl.pathname) &&\n finalUrl.searchParams &&\n resolveAs\n ) {\n const query = searchParamsToUrlQuery(finalUrl.searchParams)\n\n const { result, params } = interpolateAs(\n finalUrl.pathname,\n finalUrl.pathname,\n query\n )\n\n if (result) {\n interpolatedAs = formatWithValidation({\n pathname: result,\n hash: finalUrl.hash,\n query: omit(query, params),\n })\n }\n }\n\n // if the origin didn't change, it means we received a relative href\n const resolvedHref =\n finalUrl.origin === base.origin\n ? finalUrl.href.slice(finalUrl.origin.length)\n : finalUrl.href\n\n return resolveAs\n ? [resolvedHref, interpolatedAs || resolvedHref]\n : resolvedHref\n } catch (_) {\n return resolveAs ? [urlAsString] : urlAsString\n }\n}\n","import React from 'react'\n\nimport type {\n AppContextType,\n AppInitialProps,\n AppPropsType,\n NextWebVitalsMetric,\n AppType,\n} from '../shared/lib/utils'\nimport type { Router } from '../client/router'\n\nimport { loadGetInitialProps } from '../shared/lib/utils'\n\nexport type { AppInitialProps, AppType }\n\nexport type { NextWebVitalsMetric }\n\nexport type AppContext = AppContextType<Router>\n\nexport type AppProps<P = any> = AppPropsType<Router, P>\n\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */\nasync function appGetInitialProps({\n Component,\n ctx,\n}: AppContext): Promise<AppInitialProps> {\n const pageProps = await loadGetInitialProps(Component, ctx)\n return { pageProps }\n}\n\nexport default class App<P = any, CP = {}, S = {}> extends React.Component<\n P & AppProps<CP>,\n S\n> {\n static origGetInitialProps = appGetInitialProps\n static getInitialProps = appGetInitialProps\n\n render() {\n const { Component, pageProps } = this.props as AppProps<CP>\n\n return <Component {...pageProps} />\n }\n}\n","// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport type { UrlObject } from 'url'\nimport type { ParsedUrlQuery } from 'querystring'\nimport * as querystring from './querystring'\n\nconst slashedProtocols = /https?|ftp|gopher|file/\n\nexport function formatUrl(urlObj: UrlObject) {\n let { auth, hostname } = urlObj\n let protocol = urlObj.protocol || ''\n let pathname = urlObj.pathname || ''\n let hash = urlObj.hash || ''\n let query = urlObj.query || ''\n let host: string | false = false\n\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''\n\n if (urlObj.host) {\n host = auth + urlObj.host\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname)\n if (urlObj.port) {\n host += ':' + urlObj.port\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query as ParsedUrlQuery))\n }\n\n let search = urlObj.search || (query && `?${query}`) || ''\n\n if (protocol && !protocol.endsWith(':')) protocol += ':'\n\n if (\n urlObj.slashes ||\n ((!protocol || slashedProtocols.test(protocol)) && host !== false)\n ) {\n host = '//' + (host || '')\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname\n } else if (!host) {\n host = ''\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash\n if (search && search[0] !== '?') search = '?' + search\n\n pathname = pathname.replace(/[?#]/g, encodeURIComponent)\n search = search.replace('#', '%23')\n\n return `${protocol}${host}${pathname}${search}${hash}`\n}\n\nexport const urlObjectKeys = [\n 'auth',\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'path',\n 'pathname',\n 'port',\n 'protocol',\n 'query',\n 'search',\n 'slashes',\n]\n\nexport function formatWithValidation(url: UrlObject): string {\n if (process.env.NODE_ENV === 'development') {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach((key) => {\n if (!urlObjectKeys.includes(key)) {\n console.warn(\n `Unknown key passed via urlObject into url.format: ${key}`\n )\n }\n })\n }\n }\n\n return formatUrl(url)\n}\n","import MODERN_BROWSERSLIST_TARGET from './modern-browserslist-target'\n\nexport { MODERN_BROWSERSLIST_TARGET }\n\nexport type ValueOf<T> = Required<T>[keyof T]\n\nexport const COMPILER_NAMES = {\n client: 'client',\n server: 'server',\n edgeServer: 'edge-server',\n} as const\n\nexport type CompilerNameValues = ValueOf<typeof COMPILER_NAMES>\n\nexport const COMPILER_INDEXES: {\n [compilerKey in CompilerNameValues]: number\n} = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2,\n} as const\n\nexport const UNDERSCORE_NOT_FOUND_ROUTE = '/_not-found'\nexport const UNDERSCORE_NOT_FOUND_ROUTE_ENTRY = `${UNDERSCORE_NOT_FOUND_ROUTE}/page`\nexport const PHASE_EXPORT = 'phase-export'\nexport const PHASE_PRODUCTION_BUILD = 'phase-production-build'\nexport const PHASE_PRODUCTION_SERVER = 'phase-production-server'\nexport const PHASE_DEVELOPMENT_SERVER = 'phase-development-server'\nexport const PHASE_TEST = 'phase-test'\nexport const PHASE_INFO = 'phase-info'\nexport const PAGES_MANIFEST = 'pages-manifest.json'\nexport const WEBPACK_STATS = 'webpack-stats.json'\nexport const APP_PATHS_MANIFEST = 'app-paths-manifest.json'\nexport const APP_PATH_ROUTES_MANIFEST = 'app-path-routes-manifest.json'\nexport const BUILD_MANIFEST = 'build-manifest.json'\nexport const APP_BUILD_MANIFEST = 'app-build-manifest.json'\nexport const FUNCTIONS_CONFIG_MANIFEST = 'functions-config-manifest.json'\nexport const SUBRESOURCE_INTEGRITY_MANIFEST = 'subresource-integrity-manifest'\nexport const NEXT_FONT_MANIFEST = 'next-font-manifest'\nexport const EXPORT_MARKER = 'export-marker.json'\nexport const EXPORT_DETAIL = 'export-detail.json'\nexport const PRERENDER_MANIFEST = 'prerender-manifest.json'\nexport const ROUTES_MANIFEST = 'routes-manifest.json'\nexport const IMAGES_MANIFEST = 'images-manifest.json'\nexport const SERVER_FILES_MANIFEST = 'required-server-files.json'\nexport const DEV_CLIENT_PAGES_MANIFEST = '_devPagesManifest.json'\nexport const MIDDLEWARE_MANIFEST = 'middleware-manifest.json'\nexport const TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST =\n '_clientMiddlewareManifest.json'\nexport const DEV_CLIENT_MIDDLEWARE_MANIFEST = '_devMiddlewareManifest.json'\nexport const REACT_LOADABLE_MANIFEST = 'react-loadable-manifest.json'\nexport const SERVER_DIRECTORY = 'server'\nexport const CONFIG_FILES = [\n 'next.config.js',\n 'next.config.mjs',\n 'next.config.ts',\n]\nexport const BUILD_ID_FILE = 'BUILD_ID'\nexport const BLOCKED_PAGES = ['/_document', '/_app', '/_error']\nexport const CLIENT_PUBLIC_FILES_PATH = 'public'\nexport const CLIENT_STATIC_FILES_PATH = 'static'\nexport const STRING_LITERAL_DROP_BUNDLE = '__NEXT_DROP_CLIENT_FILE__'\nexport const NEXT_BUILTIN_DOCUMENT = '__NEXT_BUILTIN_DOCUMENT__'\nexport const BARREL_OPTIMIZATION_PREFIX = '__barrel_optimize__'\n\n// server/[entry]/page_client-reference-manifest.js\nexport const CLIENT_REFERENCE_MANIFEST = 'client-reference-manifest'\n// server/server-reference-manifest\nexport const SERVER_REFERENCE_MANIFEST = 'server-reference-manifest'\n// server/middleware-build-manifest.js\nexport const MIDDLEWARE_BUILD_MANIFEST = 'middleware-build-manifest'\n// server/middleware-react-loadable-manifest.js\nexport const MIDDLEWARE_REACT_LOADABLE_MANIFEST =\n 'middleware-react-loadable-manifest'\n// server/interception-route-rewrite-manifest.js\nexport const INTERCEPTION_ROUTE_REWRITE_MANIFEST =\n 'interception-route-rewrite-manifest'\n// server/dynamic-css-manifest.js\nexport const DYNAMIC_CSS_MANIFEST = 'dynamic-css-manifest'\n\n// static/runtime/main.js\nexport const CLIENT_STATIC_FILES_RUNTIME_MAIN = `main`\nexport const CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = `${CLIENT_STATIC_FILES_RUNTIME_MAIN}-app`\n// next internal client components chunk for layouts\nexport const APP_CLIENT_INTERNALS = 'app-pages-internals'\n// static/runtime/react-refresh.js\nexport const CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = `react-refresh`\n// static/runtime/amp.js\nexport const CLIENT_STATIC_FILES_RUNTIME_AMP = `amp`\n// static/runtime/webpack.js\nexport const CLIENT_STATIC_FILES_RUNTIME_WEBPACK = `webpack`\n// static/runtime/polyfills.js\nexport const CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = 'polyfills'\nexport const CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS\n)\nexport const DEFAULT_RUNTIME_WEBPACK = 'webpack-runtime'\nexport const EDGE_RUNTIME_WEBPACK = 'edge-runtime-webpack'\nexport const STATIC_PROPS_ID = '__N_SSG'\nexport const SERVER_PROPS_ID = '__N_SSP'\nexport const DEFAULT_SERIF_FONT = {\n name: 'Times New Roman',\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048,\n}\nexport const DEFAULT_SANS_SERIF_FONT = {\n name: 'Arial',\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048,\n}\nexport const STATIC_STATUS_PAGES = ['/500']\nexport const TRACE_OUTPUT_VERSION = 1\n// in `MB`\nexport const TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000\n\nexport const RSC_MODULE_TYPES = {\n client: 'client',\n server: 'server',\n} as const\n\n// comparing\n// https://nextjs.org/docs/api-reference/edge-runtime\n// with\n// https://nodejs.org/docs/latest/api/globals.html\nexport const EDGE_UNSUPPORTED_NODE_APIS = [\n 'clearImmediate',\n 'setImmediate',\n 'BroadcastChannel',\n 'ByteLengthQueuingStrategy',\n 'CompressionStream',\n 'CountQueuingStrategy',\n 'DecompressionStream',\n 'DomException',\n 'MessageChannel',\n 'MessageEvent',\n 'MessagePort',\n 'ReadableByteStreamController',\n 'ReadableStreamBYOBRequest',\n 'ReadableStreamDefaultController',\n 'TransformStreamDefaultController',\n 'WritableStreamDefaultController',\n]\n\nexport const SYSTEM_ENTRYPOINTS = new Set<string>([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP,\n])\n","let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set<string>()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n","(function(){var e={229:function(e){var t=e.exports={};var r;var n;function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}(function(){try{if(typeof setTimeout===\"function\"){r=setTimeout}else{r=defaultSetTimout}}catch(e){r=defaultSetTimout}try{if(typeof clearTimeout===\"function\"){n=clearTimeout}else{n=defaultClearTimeout}}catch(e){n=defaultClearTimeout}})();function runTimeout(e){if(r===setTimeout){return setTimeout(e,0)}if((r===defaultSetTimout||!r)&&setTimeout){r=setTimeout;return setTimeout(e,0)}try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}function runClearTimeout(e){if(n===clearTimeout){return clearTimeout(e)}if((n===defaultClearTimeout||!n)&&clearTimeout){n=clearTimeout;return clearTimeout(e)}try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}var i=[];var o=false;var u;var a=-1;function cleanUpNextTick(){if(!o||!u){return}o=false;if(u.length){i=u.concat(i)}else{a=-1}if(i.length){drainQueue()}}function drainQueue(){if(o){return}var e=runTimeout(cleanUpNextTick);o=true;var t=i.length;while(t){u=i;i=[];while(++a<t){if(u){u[a].run()}}a=-1;t=i.length}u=null;o=false;runClearTimeout(e)}t.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1){for(var r=1;r<arguments.length;r++){t[r-1]=arguments[r]}}i.push(new Item(e,t));if(i.length===1&&!o){runTimeout(drainQueue)}};function Item(e,t){this.fun=e;this.array=t}Item.prototype.run=function(){this.fun.apply(null,this.array)};t.title=\"browser\";t.browser=true;t.env={};t.argv=[];t.version=\"\";t.versions={};function noop(){}t.on=noop;t.addListener=noop;t.once=noop;t.off=noop;t.removeListener=noop;t.removeAllListeners=noop;t.emit=noop;t.prependListener=noop;t.prependOnceListener=noop;t.listeners=function(e){return[]};t.binding=function(e){throw new Error(\"process.binding is not supported\")};t.cwd=function(){return\"/\"};t.chdir=function(e){throw new Error(\"process.chdir is not supported\")};t.umask=function(){return 0}}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r=__nccwpck_require__(229);module.exports=r})();","import {\n isHTTPAccessFallbackError,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\nimport { isRedirectError, type RedirectError } from './redirect-error'\n\n/**\n * Returns true if the error is a navigation signal error. These errors are\n * thrown by user code to perform navigation operations and interrupt the React\n * render.\n */\nexport function isNextRouterError(\n error: unknown\n): error is RedirectError | HTTPAccessFallbackError {\n return isRedirectError(error) || isHTTPAccessFallbackError(error)\n}\n","// minimal implementation MurmurHash2 hash function\nfunction murmurhash2(str: string) {\n let h = 0\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i)\n h = Math.imul(h ^ c, 0x5bd1e995)\n h ^= h >>> 13\n h = Math.imul(h, 0x5bd1e995)\n }\n return h >>> 0\n}\n\n// default to 0.01% error rate as the filter compresses very well\nconst DEFAULT_ERROR_RATE = 0.0001\n\nexport class BloomFilter {\n numItems: number\n errorRate: number\n numBits: number\n numHashes: number\n bitArray: number[]\n\n constructor(numItems: number, errorRate: number = DEFAULT_ERROR_RATE) {\n this.numItems = numItems\n this.errorRate = errorRate\n this.numBits = Math.ceil(\n -(numItems * Math.log(errorRate)) / (Math.log(2) * Math.log(2))\n )\n this.numHashes = Math.ceil((this.numBits / numItems) * Math.log(2))\n this.bitArray = new Array(this.numBits).fill(0)\n }\n\n static from(items: string[], errorRate = DEFAULT_ERROR_RATE) {\n const filter = new BloomFilter(items.length, errorRate)\n\n for (const item of items) {\n filter.add(item)\n }\n return filter\n }\n\n export() {\n const data = {\n numItems: this.numItems,\n errorRate: this.errorRate,\n numBits: this.numBits,\n numHashes: this.numHashes,\n bitArray: this.bitArray,\n }\n\n if (process.env.NEXT_RUNTIME === 'nodejs') {\n if (this.errorRate < DEFAULT_ERROR_RATE) {\n const filterData = JSON.stringify(data)\n const gzipSize = require('next/dist/compiled/gzip-size').sync(\n filterData\n )\n\n if (gzipSize > 1024) {\n console.warn(\n `Creating filter with error rate less than 0.1% (0.001) can increase the size dramatically proceed with caution. Received error rate ${this.errorRate} resulted in size ${filterData.length} bytes, ${gzipSize} bytes (gzip)`\n )\n }\n }\n }\n\n return data\n }\n\n import(data: ReturnType<(typeof this)['export']>) {\n this.numItems = data.numItems\n this.errorRate = data.errorRate\n this.numBits = data.numBits\n this.numHashes = data.numHashes\n this.bitArray = data.bitArray\n }\n\n add(item: string) {\n const hashValues = this.getHashValues(item)\n hashValues.forEach((hash) => {\n this.bitArray[hash] = 1\n })\n }\n\n contains(item: string) {\n const hashValues = this.getHashValues(item)\n return hashValues.every((hash) => this.bitArray[hash])\n }\n\n getHashValues(item: string) {\n const hashValues = []\n for (let i = 1; i <= this.numHashes; i++) {\n const hash = murmurhash2(`${item}${i}`) % this.numBits\n hashValues.push(hash)\n }\n return hashValues\n }\n}\n","import { parsePath } from './parse-path'\n\n/**\n * Similarly to `addPathPrefix`, this function adds a suffix at the end on the\n * provided path. It also works only for paths ensuring the argument starts\n * with a slash.\n */\nexport function addPathSuffix(path: string, suffix?: string) {\n if (!path.startsWith('/') || !suffix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${pathname}${suffix}${query}${hash}`\n}\n","import React from 'react'\nimport Head from '../shared/lib/head'\nimport type { NextPageContext } from '../shared/lib/utils'\n\nconst statusCodes: { [code: number]: string } = {\n 400: 'Bad Request',\n 404: 'This page could not be found',\n 405: 'Method Not Allowed',\n 500: 'Internal Server Error',\n}\n\nexport type ErrorProps = {\n statusCode: number\n hostname?: string\n title?: string\n withDarkMode?: boolean\n}\n\nfunction _getInitialProps({\n req,\n res,\n err,\n}: NextPageContext): Promise<ErrorProps> | ErrorProps {\n const statusCode =\n res && res.statusCode ? res.statusCode : err ? err.statusCode! : 404\n\n let hostname\n\n if (typeof window !== 'undefined') {\n hostname = window.location.hostname\n } else if (req) {\n const { getRequestMeta } =\n require('../server/request-meta') as typeof import('../server/request-meta')\n\n const initUrl = getRequestMeta(req, 'initURL')\n if (initUrl) {\n const url = new URL(initUrl)\n hostname = url.hostname\n }\n }\n\n return { statusCode, hostname }\n}\n\nconst styles: Record<string, React.CSSProperties> = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n desc: {\n lineHeight: '48px',\n },\n h1: {\n display: 'inline-block',\n margin: '0 20px 0 0',\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: 'top',\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: '28px',\n },\n wrap: {\n display: 'inline-block',\n },\n}\n\n/**\n * `Error` component used for handling errors.\n */\nexport default class Error<P = {}> extends React.Component<P & ErrorProps> {\n static displayName = 'ErrorPage'\n\n static getInitialProps = _getInitialProps\n static origGetInitialProps = _getInitialProps\n\n render() {\n const { statusCode, withDarkMode = true } = this.props\n const title =\n this.props.title ||\n statusCodes[statusCode] ||\n 'An unexpected error has occurred'\n\n return (\n <div style={styles.error}>\n <Head>\n <title>\n {statusCode\n ? `${statusCode}: ${title}`\n : 'Application error: a client-side exception has occurred'}\n \n \n
\n \n\n {statusCode ? (\n

\n {statusCode}\n

\n ) : null}\n
\n

\n {this.props.title || statusCode ? (\n title\n ) : (\n <>\n Application error: a client-side exception has occurred{' '}\n {Boolean(this.props.hostname) && (\n <>while loading {this.props.hostname}\n )}{' '}\n (see the browser console for more information)\n \n )}\n .\n

\n
\n
\n \n )\n }\n}\n","import { normalizeLocalePath } from '../../i18n/normalize-locale-path'\nimport { removePathPrefix } from './remove-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\nimport type { I18NProvider } from '../../../../server/lib/i18n-provider'\n\nexport interface NextPathnameInfo {\n /**\n * The base path in case the pathname included it.\n */\n basePath?: string\n /**\n * The buildId for when the parsed URL is a data URL. Parsing it can be\n * disabled with the `parseData` option.\n */\n buildId?: string\n /**\n * If there was a locale in the pathname, this will hold its value.\n */\n locale?: string\n /**\n * The processed pathname without a base path, locale, or data URL elements\n * when parsing it is enabled.\n */\n pathname: string\n /**\n * A boolean telling if the pathname had a trailingSlash. This can be only\n * true if trailingSlash is enabled.\n */\n trailingSlash?: boolean\n}\n\ninterface Options {\n /**\n * When passed to true, this function will also parse Nextjs data URLs.\n */\n parseData?: boolean\n /**\n * A partial of the Next.js configuration to parse the URL.\n */\n nextConfig?: {\n basePath?: string\n i18n?: { locales?: readonly string[] } | null\n trailingSlash?: boolean\n }\n\n /**\n * If provided, this normalizer will be used to detect the locale instead of\n * the default locale detection.\n */\n i18nProvider?: I18NProvider\n}\n\nexport function getNextPathnameInfo(\n pathname: string,\n options: Options\n): NextPathnameInfo {\n const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}\n const info: NextPathnameInfo = {\n pathname,\n trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash,\n }\n\n if (basePath && pathHasPrefix(info.pathname, basePath)) {\n info.pathname = removePathPrefix(info.pathname, basePath)\n info.basePath = basePath\n }\n let pathnameNoDataPrefix = info.pathname\n\n if (\n info.pathname.startsWith('/_next/data/') &&\n info.pathname.endsWith('.json')\n ) {\n const paths = info.pathname\n .replace(/^\\/_next\\/data\\//, '')\n .replace(/\\.json$/, '')\n .split('/')\n\n const buildId = paths[0]\n info.buildId = buildId\n pathnameNoDataPrefix =\n paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'\n\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix\n }\n }\n\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider\n ? options.i18nProvider.analyze(info.pathname)\n : normalizeLocalePath(info.pathname, i18n.locales)\n\n info.locale = result.detectedLocale\n info.pathname = result.pathname ?? info.pathname\n\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider\n ? options.i18nProvider.analyze(pathnameNoDataPrefix)\n : normalizeLocalePath(pathnameNoDataPrefix, i18n.locales)\n\n if (result.detectedLocale) {\n info.locale = result.detectedLocale\n }\n }\n }\n return info\n}\n","export interface PathLocale {\n detectedLocale?: string\n pathname: string\n}\n\n/**\n * A cache of lowercased locales for each list of locales. This is stored as a\n * WeakMap so if the locales are garbage collected, the cache entry will be\n * removed as well.\n */\nconst cache = new WeakMap()\n\n/**\n * For a pathname that may include a locale from a list of locales, it\n * removes the locale from the pathname returning it alongside with the\n * detected locale.\n *\n * @param pathname A pathname that may include a locale.\n * @param locales A list of locales.\n * @returns The detected locale and pathname without locale\n */\nexport function normalizeLocalePath(\n pathname: string,\n locales?: readonly string[]\n): PathLocale {\n // If locales is undefined, return the pathname as is.\n if (!locales) return { pathname }\n\n // Get the cached lowercased locales or create a new cache entry.\n let lowercasedLocales = cache.get(locales)\n if (!lowercasedLocales) {\n lowercasedLocales = locales.map((locale) => locale.toLowerCase())\n cache.set(locales, lowercasedLocales)\n }\n\n let detectedLocale: string | undefined\n\n // The first segment will be empty, because it has a leading `/`. If\n // there is no further segment, there is no locale (or it's the default).\n const segments = pathname.split('/', 2)\n\n // If there's no second segment (ie, the pathname is just `/`), there's no\n // locale.\n if (!segments[1]) return { pathname }\n\n // The second segment will contain the locale part if any.\n const segment = segments[1].toLowerCase()\n\n // See if the segment matches one of the locales. If it doesn't, there is\n // no locale (or it's the default).\n const index = lowercasedLocales.indexOf(segment)\n if (index < 0) return { pathname }\n\n // Return the case-sensitive locale.\n detectedLocale = locales[index]\n\n // Remove the `/${locale}` part of the pathname.\n pathname = pathname.slice(detectedLocale.length + 1) || '/'\n\n return { pathname, detectedLocale }\n}\n","function _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexport { _interop_require_default as _ };\n","import type { addLocale as Fn } from '../shared/lib/router/utils/add-locale'\nimport { normalizePathTrailingSlash } from './normalize-trailing-slash'\n\nexport const addLocale: typeof Fn = (path, ...args) => {\n if (process.env.__NEXT_I18N_SUPPORT) {\n return normalizePathTrailingSlash(\n require('../shared/lib/router/utils/add-locale').addLocale(path, ...args)\n )\n }\n return path\n}\n","export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401,\n}\n\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus))\n\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'\n\nexport type HTTPAccessFallbackError = Error & {\n digest: `${typeof HTTP_ERROR_FALLBACK_ERROR_CODE};${string}`\n}\n\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */\nexport function isHTTPAccessFallbackError(\n error: unknown\n): error is HTTPAccessFallbackError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n const [prefix, httpStatus] = error.digest.split(';')\n\n return (\n prefix === HTTP_ERROR_FALLBACK_ERROR_CODE &&\n ALLOWED_CODES.has(Number(httpStatus))\n )\n}\n\nexport function getAccessFallbackHTTPStatus(\n error: HTTPAccessFallbackError\n): number {\n const httpStatus = error.digest.split(';')[1]\n return Number(httpStatus)\n}\n\nexport function getAccessFallbackErrorTypeByStatus(\n status: number\n): 'not-found' | 'forbidden' | 'unauthorized' | undefined {\n switch (status) {\n case 401:\n return 'unauthorized'\n case 403:\n return 'forbidden'\n case 404:\n return 'not-found'\n default:\n return\n }\n}\n","export const VALID_LOADERS = [\n 'default',\n 'imgix',\n 'cloudinary',\n 'akamai',\n 'custom',\n] as const\n\nexport type LoaderValue = (typeof VALID_LOADERS)[number]\n\nexport type ImageLoaderProps = {\n src: string\n width: number\n quality?: number\n}\n\nexport type ImageLoaderPropsWithConfig = ImageLoaderProps & {\n config: Readonly\n}\n\nexport type LocalPattern = {\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\nexport type RemotePattern = {\n /**\n * Must be `http` or `https`.\n */\n protocol?: 'http' | 'https'\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single subdomain.\n * Double `**` matches any number of subdomains.\n */\n hostname: string\n\n /**\n * Can be literal port such as `8080` or empty string\n * meaning no port.\n */\n port?: string\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\ntype ImageFormat = 'image/avif' | 'image/webp'\n\n/**\n * Image configurations\n *\n * @see [Image configuration options](https://nextjs.org/docs/api-reference/next/image#configuration-options)\n */\nexport type ImageConfigComplete = {\n /** @see [Device sizes documentation](https://nextjs.org/docs/api-reference/next/image#device-sizes) */\n deviceSizes: number[]\n\n /** @see [Image sizing documentation](https://nextjs.org/docs/app/building-your-application/optimizing/images#image-sizing) */\n imageSizes: number[]\n\n /** @see [Image loaders configuration](https://nextjs.org/docs/api-reference/next/legacy/image#loader) */\n loader: LoaderValue\n\n /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/legacy/image#loader-configuration) */\n path: string\n\n /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) */\n loaderFile: string\n\n /**\n * @deprecated Use `remotePatterns` instead.\n */\n domains: string[]\n\n /** @see [Disable static image import configuration](https://nextjs.org/docs/api-reference/next/image#disable-static-imports) */\n disableStaticImages: boolean\n\n /** @see [Cache behavior](https://nextjs.org/docs/api-reference/next/image#caching-behavior) */\n minimumCacheTTL: number\n\n /** @see [Acceptable formats](https://nextjs.org/docs/api-reference/next/image#acceptable-formats) */\n formats: ImageFormat[]\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n dangerouslyAllowSVG: boolean\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n contentSecurityPolicy: string\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n contentDispositionType: 'inline' | 'attachment'\n\n /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#remotepatterns) */\n remotePatterns: RemotePattern[]\n\n /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#localPatterns) */\n localPatterns: LocalPattern[] | undefined\n\n /** @see [Qualities](https://nextjs.org/docs/api-reference/next/image#qualities) */\n qualities: number[] | undefined\n\n /** @see [Unoptimized](https://nextjs.org/docs/api-reference/next/image#unoptimized) */\n unoptimized: boolean\n}\n\nexport type ImageConfig = Partial\n\nexport const imageConfigDefault: ImageConfigComplete = {\n deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],\n path: '/_next/image',\n loader: 'default',\n loaderFile: '',\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: ['image/webp'],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,\n contentDispositionType: 'attachment',\n localPatterns: undefined, // default: allow all local images\n remotePatterns: [], // default: allow no remote images\n qualities: undefined, // default: allow all qualities\n unoptimized: false,\n}\n","\"use strict\";\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = global.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = global.process) == null ? void 0 : _global_process1.env) === 'object' ? global.process : require('next/dist/compiled/process');\n\n//# sourceMappingURL=process.js.map","import type { HtmlProps } from './html-context.shared-runtime'\nimport type { ComponentType, JSX } from 'react'\nimport type { DomainLocale } from '../../server/config'\nimport type { Env } from '@next/env'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport type { NextRouter } from './router/router'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { PreviewData } from '../../types'\nimport type { COMPILER_NAMES } from './constants'\nimport type fs from 'fs'\n\nexport type NextComponentType<\n Context extends BaseContext = NextPageContext,\n InitialProps = {},\n Props = {},\n> = ComponentType & {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param context Context of `page`\n */\n getInitialProps?(context: Context): InitialProps | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType

= NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n runtimeConfig?: { [key: string]: any }\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => ABSOLUTE_URL_REGEX.test(url)\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n","import { parsePath } from '../shared/lib/router/utils/parse-path'\n\nexport function removeLocale(path: string, locale?: string) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n const { pathname } = parsePath(path)\n const pathLower = pathname.toLowerCase()\n const localeLower = locale?.toLowerCase()\n\n return locale &&\n (pathLower.startsWith(`/${localeLower}/`) ||\n pathLower === `/${localeLower}`)\n ? `${pathname.length === locale.length + 1 ? `/` : ``}${path.slice(\n locale.length + 1\n )}`\n : path\n }\n return path\n}\n","export { getSortedRoutes, getSortedRouteObjects } from './sorted-routes'\nexport { isDynamicRoute } from './is-dynamic'\n","import React from 'react'\nimport isError from '../../../lib/is-error'\nimport { copyNextErrorCode } from '../../../lib/error-telemetry-utils'\n\nconst REACT_ERROR_STACK_BOTTOM_FRAME = 'react-stack-bottom-frame'\nconst REACT_ERROR_STACK_BOTTOM_FRAME_REGEX = new RegExp(\n `(at ${REACT_ERROR_STACK_BOTTOM_FRAME} )|(${REACT_ERROR_STACK_BOTTOM_FRAME}\\\\@)`\n)\n\nexport function getReactStitchedError(err: T): Error | T {\n const isErrorInstance = isError(err)\n const originStack = isErrorInstance ? err.stack || '' : ''\n const originMessage = isErrorInstance ? err.message : ''\n const stackLines = originStack.split('\\n')\n const indexOfSplit = stackLines.findIndex((line) =>\n REACT_ERROR_STACK_BOTTOM_FRAME_REGEX.test(line)\n )\n const isOriginalReactError = indexOfSplit >= 0 // has the react-stack-bottom-frame\n let newStack = isOriginalReactError\n ? stackLines.slice(0, indexOfSplit).join('\\n')\n : originStack\n\n const newError = new Error(originMessage)\n // Copy all enumerable properties, e.g. digest\n Object.assign(newError, err)\n copyNextErrorCode(err, newError)\n newError.stack = newStack\n\n // Avoid duplicate overriding stack frames\n appendOwnerStack(newError)\n\n return newError\n}\n\nfunction appendOwnerStack(error: Error) {\n if (!React.captureOwnerStack) {\n return\n }\n let stack = error.stack || ''\n // This module is only bundled in development mode so this is safe.\n const ownerStack = React.captureOwnerStack()\n // Avoid duplicate overriding stack frames\n if (ownerStack && stack.endsWith(ownerStack) === false) {\n stack += ownerStack\n // Override stack\n error.stack = stack\n }\n}\n","let runtimeConfig: any\n\nexport default () => {\n return runtimeConfig\n}\n\nexport function setConfig(configValue: any): void {\n runtimeConfig = configValue\n}\n","import mitt from '../../shared/lib/mitt'\nimport type { MittEmitter } from '../../shared/lib/mitt'\n\nexport type SpanOptions = {\n startTime?: number\n attributes?: Record\n}\n\nexport type SpanState =\n | {\n state: 'inprogress'\n }\n | {\n state: 'ended'\n endTime: number\n }\n\ninterface ISpan {\n name: string\n startTime: number\n attributes: Record\n state: SpanState\n end(endTime?: number): void\n}\n\nclass Span implements ISpan {\n name: string\n startTime: number\n onSpanEnd: (span: Span) => void\n state: SpanState\n attributes: Record\n\n constructor(\n name: string,\n options: SpanOptions,\n onSpanEnd: (span: Span) => void\n ) {\n this.name = name\n this.attributes = options.attributes ?? {}\n this.startTime = options.startTime ?? Date.now()\n this.onSpanEnd = onSpanEnd\n this.state = { state: 'inprogress' }\n }\n\n end(endTime?: number) {\n if (this.state.state === 'ended') {\n throw new Error('Span has already ended')\n }\n\n this.state = {\n state: 'ended',\n endTime: endTime ?? Date.now(),\n }\n\n this.onSpanEnd(this)\n }\n}\n\nclass Tracer {\n _emitter: MittEmitter = mitt()\n\n private handleSpanEnd = (span: Span) => {\n this._emitter.emit('spanend', span)\n }\n\n startSpan(name: string, options: SpanOptions) {\n return new Span(name, options, this.handleSpanEnd)\n }\n\n onSpanEnd(cb: (span: ISpan) => void): () => void {\n this._emitter.on('spanend', cb)\n return () => {\n this._emitter.off('spanend', cb)\n }\n }\n}\n\nexport type { ISpan as Span }\nexport default new Tracer()\n","import { useEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\ntype PortalProps = {\n children: React.ReactNode\n type: string\n}\n\nexport const Portal = ({ children, type }: PortalProps) => {\n const [portalNode, setPortalNode] = useState(null)\n\n useEffect(() => {\n const element = document.createElement(type)\n document.body.appendChild(element)\n setPortalNode(element)\n return () => {\n document.body.removeChild(element)\n }\n }, [type])\n\n return portalNode ? createPortal(children, portalNode) : null\n}\n","/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */\nexport function parsePath(path: string) {\n const hashIndex = path.indexOf('#')\n const queryIndex = path.indexOf('?')\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex)\n\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery\n ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined)\n : '',\n hash: hashIndex > -1 ? path.slice(hashIndex) : '',\n }\n }\n\n return { pathname: path, query: '', hash: '' }\n}\n","import React from 'react'\n\nexport const AmpStateContext: React.Context = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n AmpStateContext.displayName = 'AmpStateContext'\n}\n","/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */\nexport function removeTrailingSlash(route: string) {\n return route.replace(/\\/$/, '') || '/'\n}\n","import React from 'react'\nimport type { ImageConfigComplete } from './image-config'\nimport { imageConfigDefault } from './image-config'\n\nexport const ImageConfigContext =\n React.createContext(imageConfigDefault)\n\nif (process.env.NODE_ENV !== 'production') {\n ImageConfigContext.displayName = 'ImageConfigContext'\n}\n","import { removeTrailingSlash } from '../shared/lib/router/utils/remove-trailing-slash'\nimport { parsePath } from '../shared/lib/router/utils/parse-path'\n\n/**\n * Normalizes the trailing slash of a path according to the `trailingSlash` option\n * in `next.config.js`.\n */\nexport const normalizePathTrailingSlash = (path: string) => {\n if (!path.startsWith('/') || process.env.__NEXT_MANUAL_TRAILING_SLASH) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n if (process.env.__NEXT_TRAILING_SLASH) {\n if (/\\.[^/]+\\/?$/.test(pathname)) {\n return `${removeTrailingSlash(pathname)}${query}${hash}`\n } else if (pathname.endsWith('/')) {\n return `${pathname}${query}${hash}`\n } else {\n return `${pathname}/${query}${hash}`\n }\n }\n\n return `${removeTrailingSlash(pathname)}${query}${hash}`\n}\n","import type { ParsedUrlQuery } from 'querystring'\n\nimport { getRouteMatcher } from './route-matcher'\nimport { getRouteRegex } from './route-regex'\n\nexport function interpolateAs(\n route: string,\n asPathname: string,\n query: ParsedUrlQuery\n) {\n let interpolatedRoute = ''\n\n const dynamicRegex = getRouteRegex(route)\n const dynamicGroups = dynamicRegex.groups\n const dynamicMatches =\n // Try to match the dynamic route against the asPath\n (asPathname !== route ? getRouteMatcher(dynamicRegex)(asPathname) : '') ||\n // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query\n\n interpolatedRoute = route\n const params = Object.keys(dynamicGroups)\n\n if (\n !params.every((param) => {\n let value = dynamicMatches[param] || ''\n const { repeat, optional } = dynamicGroups[param]\n\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = `[${repeat ? '...' : ''}${param}]`\n if (optional) {\n replaced = `${!value ? '/' : ''}[${replaced}]`\n }\n if (repeat && !Array.isArray(value)) value = [value]\n\n return (\n (optional || param in dynamicMatches) &&\n // Interpolate group into data URL if present\n (interpolatedRoute =\n interpolatedRoute!.replace(\n replaced,\n repeat\n ? (value as string[])\n .map(\n // these values should be fully encoded instead of just\n // path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment) => encodeURIComponent(segment)\n )\n .join('/')\n : encodeURIComponent(value as string)\n ) || '/')\n )\n })\n ) {\n interpolatedRoute = '' // did not satisfy all requirements\n\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `` component directly.\n }\n return {\n params,\n result: interpolatedRoute,\n }\n}\n","// tslint:disable:no-console\nimport type { ComponentType } from 'react'\nimport type { DomainLocale } from '../../../server/config'\nimport type { MittEmitter } from '../mitt'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { RouterEvent } from '../../../client/router'\nimport type { StyleSheetTuple } from '../../../client/page-loader'\nimport type { UrlObject } from 'url'\nimport type PageLoader from '../../../client/page-loader'\nimport type { AppContextType, NextPageContext, NEXT_DATA } from '../utils'\nimport { removeTrailingSlash } from './utils/remove-trailing-slash'\nimport {\n getClientBuildManifest,\n isAssetError,\n markAssetError,\n} from '../../../client/route-loader'\nimport { handleClientScriptLoad } from '../../../client/script'\nimport isError, { getProperError } from '../../../lib/is-error'\nimport { denormalizePagePath } from '../page-path/denormalize-page-path'\nimport { normalizeLocalePath } from '../i18n/normalize-locale-path'\nimport mitt from '../mitt'\nimport { getLocationOrigin, getURL, loadGetInitialProps, ST } from '../utils'\nimport { isDynamicRoute } from './utils/is-dynamic'\nimport { parseRelativeUrl } from './utils/parse-relative-url'\nimport resolveRewrites from './utils/resolve-rewrites'\nimport { getRouteMatcher } from './utils/route-matcher'\nimport { getRouteRegex } from './utils/route-regex'\nimport { formatWithValidation } from './utils/format-url'\nimport { detectDomainLocale } from '../../../client/detect-domain-locale'\nimport { parsePath } from './utils/parse-path'\nimport { addLocale } from '../../../client/add-locale'\nimport { removeLocale } from '../../../client/remove-locale'\nimport { removeBasePath } from '../../../client/remove-base-path'\nimport { addBasePath } from '../../../client/add-base-path'\nimport { hasBasePath } from '../../../client/has-base-path'\nimport { resolveHref } from '../../../client/resolve-href'\nimport { isAPIRoute } from '../../../lib/is-api-route'\nimport { getNextPathnameInfo } from './utils/get-next-pathname-info'\nimport { formatNextPathnameInfo } from './utils/format-next-pathname-info'\nimport { compareRouterStates } from './utils/compare-states'\nimport { isLocalURL } from './utils/is-local-url'\nimport { isBot } from './utils/is-bot'\nimport { omit } from './utils/omit'\nimport { interpolateAs } from './utils/interpolate-as'\nimport { handleSmoothScroll } from './utils/handle-smooth-scroll'\nimport type { Params } from '../../../server/request/params'\nimport { MATCHED_PATH_HEADER } from '../../../lib/constants'\n\ndeclare global {\n interface Window {\n /* prod */\n __NEXT_DATA__: NEXT_DATA\n }\n}\n\ninterface RouteProperties {\n shallow: boolean\n}\n\ninterface TransitionOptions {\n shallow?: boolean\n locale?: string | false\n scroll?: boolean\n unstable_skipClientCache?: boolean\n}\n\ninterface NextHistoryState {\n url: string\n as: string\n options: TransitionOptions\n}\n\nexport type HistoryState =\n | null\n | { __NA: true; __N?: false }\n | { __N: false; __NA?: false }\n | ({ __NA?: false; __N: true; key: string } & NextHistoryState)\n\nfunction buildCancellationError() {\n return Object.assign(new Error('Route Cancelled'), {\n cancelled: true,\n })\n}\n\ninterface MiddlewareEffectParams {\n fetchData?: () => Promise\n locale?: string\n asPath: string\n router: Router\n}\n\nexport async function matchesMiddleware(\n options: MiddlewareEffectParams\n): Promise {\n const matchers = await Promise.resolve(\n options.router.pageLoader.getMiddleware()\n )\n if (!matchers) return false\n\n const { pathname: asPathname } = parsePath(options.asPath)\n // remove basePath first since path prefix has to be in the order of `/${basePath}/${locale}`\n const cleanedAs = hasBasePath(asPathname)\n ? removeBasePath(asPathname)\n : asPathname\n const asWithBasePathAndLocale = addBasePath(\n addLocale(cleanedAs, options.locale)\n )\n\n // Check only path match on client. Matching \"has\" should be done on server\n // where we can access more info such as headers, HttpOnly cookie, etc.\n return matchers.some((m) =>\n new RegExp(m.regexp).test(asWithBasePathAndLocale)\n )\n}\n\nfunction stripOrigin(url: string) {\n const origin = getLocationOrigin()\n\n return url.startsWith(origin) ? url.substring(origin.length) : url\n}\n\nfunction prepareUrlAs(router: NextRouter, url: Url, as?: Url) {\n // If url and as provided as an object representation,\n // we'll format them into the string version here.\n let [resolvedHref, resolvedAs] = resolveHref(router, url, true)\n const origin = getLocationOrigin()\n const hrefWasAbsolute = resolvedHref.startsWith(origin)\n const asWasAbsolute = resolvedAs && resolvedAs.startsWith(origin)\n\n resolvedHref = stripOrigin(resolvedHref)\n resolvedAs = resolvedAs ? stripOrigin(resolvedAs) : resolvedAs\n\n const preparedUrl = hrefWasAbsolute ? resolvedHref : addBasePath(resolvedHref)\n const preparedAs = as\n ? stripOrigin(resolveHref(router, as))\n : resolvedAs || resolvedHref\n\n return {\n url: preparedUrl,\n as: asWasAbsolute ? preparedAs : addBasePath(preparedAs),\n }\n}\n\nfunction resolveDynamicRoute(pathname: string, pages: string[]) {\n const cleanPathname = removeTrailingSlash(denormalizePagePath(pathname))\n if (cleanPathname === '/404' || cleanPathname === '/_error') {\n return pathname\n }\n\n // handle resolving href for dynamic routes\n if (!pages.includes(cleanPathname)) {\n // eslint-disable-next-line array-callback-return\n pages.some((page) => {\n if (isDynamicRoute(page) && getRouteRegex(page).re.test(cleanPathname)) {\n pathname = page\n return true\n }\n })\n }\n return removeTrailingSlash(pathname)\n}\n\nfunction getMiddlewareData(\n source: string,\n response: Response,\n options: MiddlewareEffectParams\n) {\n const nextConfig = {\n basePath: options.router.basePath,\n i18n: { locales: options.router.locales },\n trailingSlash: Boolean(process.env.__NEXT_TRAILING_SLASH),\n }\n const rewriteHeader = response.headers.get('x-nextjs-rewrite')\n\n let rewriteTarget =\n rewriteHeader || response.headers.get('x-nextjs-matched-path')\n\n const matchedPath = response.headers.get(MATCHED_PATH_HEADER)\n\n if (\n matchedPath &&\n !rewriteTarget &&\n !matchedPath.includes('__next_data_catchall') &&\n !matchedPath.includes('/_error') &&\n !matchedPath.includes('/404')\n ) {\n // leverage x-matched-path to detect next.config.js rewrites\n rewriteTarget = matchedPath\n }\n\n if (rewriteTarget) {\n if (\n rewriteTarget.startsWith('/') ||\n process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE\n ) {\n const parsedRewriteTarget = parseRelativeUrl(rewriteTarget)\n const pathnameInfo = getNextPathnameInfo(parsedRewriteTarget.pathname, {\n nextConfig,\n parseData: true,\n })\n\n let fsPathname = removeTrailingSlash(pathnameInfo.pathname)\n return Promise.all([\n options.router.pageLoader.getPageList(),\n getClientBuildManifest(),\n ]).then(([pages, { __rewrites: rewrites }]: any) => {\n let as = addLocale(pathnameInfo.pathname, pathnameInfo.locale)\n\n if (\n isDynamicRoute(as) ||\n (!rewriteHeader &&\n pages.includes(\n normalizeLocalePath(removeBasePath(as), options.router.locales)\n .pathname\n ))\n ) {\n const parsedSource = getNextPathnameInfo(\n parseRelativeUrl(source).pathname,\n {\n nextConfig: process.env.__NEXT_HAS_REWRITES\n ? undefined\n : nextConfig,\n parseData: true,\n }\n )\n\n as = addBasePath(parsedSource.pathname)\n parsedRewriteTarget.pathname = as\n }\n\n if (process.env.__NEXT_HAS_REWRITES) {\n const result = resolveRewrites(\n as,\n pages,\n rewrites,\n parsedRewriteTarget.query,\n (path: string) => resolveDynamicRoute(path, pages),\n options.router.locales\n )\n\n if (result.matchedPage) {\n parsedRewriteTarget.pathname = result.parsedAs.pathname\n as = parsedRewriteTarget.pathname\n Object.assign(parsedRewriteTarget.query, result.parsedAs.query)\n }\n } else if (!pages.includes(fsPathname)) {\n const resolvedPathname = resolveDynamicRoute(fsPathname, pages)\n\n if (resolvedPathname !== fsPathname) {\n fsPathname = resolvedPathname\n }\n }\n\n const resolvedHref = !pages.includes(fsPathname)\n ? resolveDynamicRoute(\n normalizeLocalePath(\n removeBasePath(parsedRewriteTarget.pathname),\n options.router.locales\n ).pathname,\n pages\n )\n : fsPathname\n\n if (isDynamicRoute(resolvedHref)) {\n const matches = getRouteMatcher(getRouteRegex(resolvedHref))(as)\n Object.assign(parsedRewriteTarget.query, matches || {})\n }\n\n return {\n type: 'rewrite' as const,\n parsedAs: parsedRewriteTarget,\n resolvedHref,\n }\n })\n }\n const src = parsePath(source)\n const pathname = formatNextPathnameInfo({\n ...getNextPathnameInfo(src.pathname, { nextConfig, parseData: true }),\n defaultLocale: options.router.defaultLocale,\n buildId: '',\n })\n\n return Promise.resolve({\n type: 'redirect-external' as const,\n destination: `${pathname}${src.query}${src.hash}`,\n })\n }\n\n const redirectTarget = response.headers.get('x-nextjs-redirect')\n\n if (redirectTarget) {\n if (redirectTarget.startsWith('/')) {\n const src = parsePath(redirectTarget)\n const pathname = formatNextPathnameInfo({\n ...getNextPathnameInfo(src.pathname, { nextConfig, parseData: true }),\n defaultLocale: options.router.defaultLocale,\n buildId: '',\n })\n\n return Promise.resolve({\n type: 'redirect-internal' as const,\n newAs: `${pathname}${src.query}${src.hash}`,\n newUrl: `${pathname}${src.query}${src.hash}`,\n })\n }\n\n return Promise.resolve({\n type: 'redirect-external' as const,\n destination: redirectTarget,\n })\n }\n\n return Promise.resolve({ type: 'next' as const })\n}\n\ninterface WithMiddlewareEffectsOutput extends FetchDataOutput {\n effect: Awaited>\n}\n\nasync function withMiddlewareEffects(\n options: MiddlewareEffectParams\n): Promise {\n const matches = await matchesMiddleware(options)\n if (!matches || !options.fetchData) {\n return null\n }\n\n const data = await options.fetchData()\n\n const effect = await getMiddlewareData(data.dataHref, data.response, options)\n\n return {\n dataHref: data.dataHref,\n json: data.json,\n response: data.response,\n text: data.text,\n cacheKey: data.cacheKey,\n effect,\n }\n}\n\nexport type Url = UrlObject | string\n\nexport type BaseRouter = {\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n basePath: string\n locale?: string | undefined\n locales?: readonly string[] | undefined\n defaultLocale?: string | undefined\n domainLocales?: readonly DomainLocale[] | undefined\n isLocaleDomain: boolean\n}\n\nexport type NextRouter = BaseRouter &\n Pick<\n Router,\n | 'push'\n | 'replace'\n | 'reload'\n | 'back'\n | 'forward'\n | 'prefetch'\n | 'beforePopState'\n | 'events'\n | 'isFallback'\n | 'isReady'\n | 'isPreview'\n >\n\nexport type PrefetchOptions = {\n priority?: boolean\n locale?: string | false\n unstable_skipClientCache?: boolean\n}\n\nexport type PrivateRouteInfo =\n | (Omit & { initial: true })\n | CompletePrivateRouteInfo\n\nexport type CompletePrivateRouteInfo = {\n Component: ComponentType\n styleSheets: StyleSheetTuple[]\n __N_SSG?: boolean\n __N_SSP?: boolean\n props?: Record\n err?: Error\n error?: any\n route?: string\n resolvedAs?: string\n query?: ParsedUrlQuery\n}\n\nexport type AppProps = Pick & {\n router: Router\n} & Record\nexport type AppComponent = ComponentType\n\ntype Subscription = (\n data: PrivateRouteInfo,\n App: AppComponent,\n resetScroll: { x: number; y: number } | null\n) => Promise\n\ntype BeforePopStateCallback = (state: NextHistoryState) => boolean\n\ntype ComponentLoadCancel = (() => void) | null\n\ntype HistoryMethod = 'replaceState' | 'pushState'\n\nconst manualScrollRestoration =\n process.env.__NEXT_SCROLL_RESTORATION &&\n typeof window !== 'undefined' &&\n 'scrollRestoration' in window.history &&\n !!(function () {\n try {\n let v = '__next'\n // eslint-disable-next-line no-sequences\n return sessionStorage.setItem(v, v), sessionStorage.removeItem(v), true\n } catch (n) {}\n })()\n\nconst SSG_DATA_NOT_FOUND = Symbol('SSG_DATA_NOT_FOUND')\n\nfunction fetchRetry(\n url: string,\n attempts: number,\n options: Pick\n): Promise {\n return fetch(url, {\n // Cookies are required to be present for Next.js' SSG \"Preview Mode\".\n // Cookies may also be required for `getServerSideProps`.\n //\n // > `fetch` won’t send cookies, unless you set the credentials init\n // > option.\n // https://developer.mozilla.org/docs/Web/API/Fetch_API/Using_Fetch\n //\n // > For maximum browser compatibility when it comes to sending &\n // > receiving cookies, always supply the `credentials: 'same-origin'`\n // > option instead of relying on the default.\n // https://github.com/github/fetch#caveats\n credentials: 'same-origin',\n method: options.method || 'GET',\n headers: Object.assign({}, options.headers, {\n 'x-nextjs-data': '1',\n }),\n }).then((response) => {\n return !response.ok && attempts > 1 && response.status >= 500\n ? fetchRetry(url, attempts - 1, options)\n : response\n })\n}\n\ninterface FetchDataOutput {\n dataHref: string\n json: Record | null\n response: Response\n text: string\n cacheKey: string\n}\n\ninterface FetchNextDataParams {\n dataHref: string\n isServerRender: boolean\n parseJSON: boolean | undefined\n hasMiddleware?: boolean\n inflightCache: NextDataCache\n persistCache: boolean\n isPrefetch: boolean\n isBackground?: boolean\n unstable_skipClientCache?: boolean\n}\n\nfunction tryToParseAsJSON(text: string) {\n try {\n return JSON.parse(text)\n } catch (error) {\n return null\n }\n}\n\nfunction fetchNextData({\n dataHref,\n inflightCache,\n isPrefetch,\n hasMiddleware,\n isServerRender,\n parseJSON,\n persistCache,\n isBackground,\n unstable_skipClientCache,\n}: FetchNextDataParams): Promise {\n const { href: cacheKey } = new URL(dataHref, window.location.href)\n const getData = (params?: { method?: 'HEAD' | 'GET' }) =>\n fetchRetry(dataHref, isServerRender ? 3 : 1, {\n headers: Object.assign(\n {} as HeadersInit,\n isPrefetch ? { purpose: 'prefetch' } : {},\n isPrefetch && hasMiddleware ? { 'x-middleware-prefetch': '1' } : {},\n process.env.NEXT_DEPLOYMENT_ID\n ? { 'x-deployment-id': process.env.NEXT_DEPLOYMENT_ID }\n : {}\n ),\n method: params?.method ?? 'GET',\n })\n .then((response) => {\n if (response.ok && params?.method === 'HEAD') {\n return { dataHref, response, text: '', json: {}, cacheKey }\n }\n\n return response.text().then((text) => {\n if (!response.ok) {\n /**\n * When the data response is a redirect because of a middleware\n * we do not consider it an error. The headers must bring the\n * mapped location.\n * TODO: Change the status code in the handler.\n */\n if (\n hasMiddleware &&\n [301, 302, 307, 308].includes(response.status)\n ) {\n return { dataHref, response, text, json: {}, cacheKey }\n }\n\n if (response.status === 404) {\n if (tryToParseAsJSON(text)?.notFound) {\n return {\n dataHref,\n json: { notFound: SSG_DATA_NOT_FOUND },\n response,\n text,\n cacheKey,\n }\n }\n }\n\n const error = new Error(`Failed to load static props`)\n\n /**\n * We should only trigger a server-side transition if this was\n * caused on a client-side transition. Otherwise, we'd get into\n * an infinite loop.\n */\n if (!isServerRender) {\n markAssetError(error)\n }\n\n throw error\n }\n\n return {\n dataHref,\n json: parseJSON ? tryToParseAsJSON(text) : null,\n response,\n text,\n cacheKey,\n }\n })\n })\n .then((data) => {\n if (\n !persistCache ||\n process.env.NODE_ENV !== 'production' ||\n data.response.headers.get('x-middleware-cache') === 'no-cache'\n ) {\n delete inflightCache[cacheKey]\n }\n return data\n })\n .catch((err) => {\n if (!unstable_skipClientCache) {\n delete inflightCache[cacheKey]\n }\n if (\n // chrome\n err.message === 'Failed to fetch' ||\n // firefox\n err.message === 'NetworkError when attempting to fetch resource.' ||\n // safari\n err.message === 'Load failed'\n ) {\n markAssetError(err)\n }\n throw err\n })\n\n // when skipping client cache we wait to update\n // inflight cache until successful data response\n // this allows racing click event with fetching newer data\n // without blocking navigation when stale data is available\n if (unstable_skipClientCache && persistCache) {\n return getData({}).then((data) => {\n if (data.response.headers.get('x-middleware-cache') !== 'no-cache') {\n // only update cache if not marked as no-cache\n inflightCache[cacheKey] = Promise.resolve(data)\n }\n\n return data\n })\n }\n\n if (inflightCache[cacheKey] !== undefined) {\n return inflightCache[cacheKey]\n }\n return (inflightCache[cacheKey] = getData(\n isBackground ? { method: 'HEAD' } : {}\n ))\n}\n\ninterface NextDataCache {\n [asPath: string]: Promise\n}\n\nexport function createKey() {\n return Math.random().toString(36).slice(2, 10)\n}\n\nfunction handleHardNavigation({\n url,\n router,\n}: {\n url: string\n router: Router\n}) {\n // ensure we don't trigger a hard navigation to the same\n // URL as this can end up with an infinite refresh\n if (url === addBasePath(addLocale(router.asPath, router.locale))) {\n throw new Error(\n `Invariant: attempted to hard navigate to the same URL ${url} ${location.href}`\n )\n }\n window.location.href = url\n}\n\nconst getCancelledHandler = ({\n route,\n router,\n}: {\n route: string\n router: Router\n}) => {\n let cancelled = false\n const cancel = (router.clc = () => {\n cancelled = true\n })\n\n const handleCancelled = () => {\n if (cancelled) {\n const error: any = new Error(\n `Abort fetching component for route: \"${route}\"`\n )\n error.cancelled = true\n throw error\n }\n\n if (cancel === router.clc) {\n router.clc = null\n }\n }\n return handleCancelled\n}\n\nexport default class Router implements BaseRouter {\n basePath: string\n\n /**\n * Map of all components loaded in `Router`\n */\n components: { [pathname: string]: PrivateRouteInfo }\n // Server Data Cache (full data requests)\n sdc: NextDataCache = {}\n // Server Background Cache (HEAD requests)\n sbc: NextDataCache = {}\n\n sub: Subscription\n clc: ComponentLoadCancel\n pageLoader: PageLoader\n _bps: BeforePopStateCallback | undefined\n events: MittEmitter\n _wrapApp: (App: AppComponent) => any\n isSsr: boolean\n _inFlightRoute?: string | undefined\n _shallow?: boolean | undefined\n locales?: readonly string[] | undefined\n defaultLocale?: string | undefined\n domainLocales?: readonly DomainLocale[] | undefined\n isReady: boolean\n isLocaleDomain: boolean\n isFirstPopStateEvent = true\n _initialMatchesMiddlewarePromise: Promise\n // static entries filter\n _bfl_s?: import('../../lib/bloom-filter').BloomFilter\n // dynamic entires filter\n _bfl_d?: import('../../lib/bloom-filter').BloomFilter\n\n private state: Readonly<{\n route: string\n pathname: string\n query: ParsedUrlQuery\n asPath: string\n locale: string | undefined\n isFallback: boolean\n isPreview: boolean\n }>\n\n private _key: string = createKey()\n\n static events: MittEmitter = mitt()\n\n constructor(\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n {\n initialProps,\n pageLoader,\n App,\n wrapApp,\n Component,\n err,\n subscription,\n isFallback,\n locale,\n locales,\n defaultLocale,\n domainLocales,\n isPreview,\n }: {\n subscription: Subscription\n initialProps: any\n pageLoader: any\n Component: ComponentType\n App: AppComponent\n wrapApp: (WrapAppComponent: AppComponent) => any\n err?: Error\n isFallback: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n isPreview?: boolean\n }\n ) {\n // represents the current component key\n const route = removeTrailingSlash(pathname)\n\n // set up the component cache (by route keys)\n this.components = {}\n // We should not keep the cache, if there's an error\n // Otherwise, this cause issues when when going back and\n // come again to the errored page.\n if (pathname !== '/_error') {\n this.components[route] = {\n Component,\n initial: true,\n props: initialProps,\n err,\n __N_SSG: initialProps && initialProps.__N_SSG,\n __N_SSP: initialProps && initialProps.__N_SSP,\n }\n }\n\n this.components['/_app'] = {\n Component: App as ComponentType,\n styleSheets: [\n /* /_app does not need its stylesheets managed */\n ],\n }\n\n // Backwards compat for Router.router.events\n // TODO: Should be remove the following major version as it was never documented\n this.events = Router.events\n\n this.pageLoader = pageLoader\n // if auto prerendered and dynamic route wait to update asPath\n // until after mount to prevent hydration mismatch\n const autoExportDynamic =\n isDynamicRoute(pathname) && self.__NEXT_DATA__.autoExport\n\n this.basePath = process.env.__NEXT_ROUTER_BASEPATH || ''\n this.sub = subscription\n this.clc = null\n this._wrapApp = wrapApp\n // make sure to ignore extra popState in safari on navigating\n // back from external site\n this.isSsr = true\n this.isLocaleDomain = false\n this.isReady = !!(\n self.__NEXT_DATA__.gssp ||\n self.__NEXT_DATA__.gip ||\n self.__NEXT_DATA__.isExperimentalCompile ||\n (self.__NEXT_DATA__.appGip && !self.__NEXT_DATA__.gsp) ||\n (!autoExportDynamic &&\n !self.location.search &&\n !process.env.__NEXT_HAS_REWRITES)\n )\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n this.locales = locales\n this.defaultLocale = defaultLocale\n this.domainLocales = domainLocales\n this.isLocaleDomain = !!detectDomainLocale(\n domainLocales,\n self.location.hostname\n )\n }\n\n this.state = {\n route,\n pathname,\n query,\n asPath: autoExportDynamic ? pathname : as,\n isPreview: !!isPreview,\n locale: process.env.__NEXT_I18N_SUPPORT ? locale : undefined,\n isFallback,\n }\n\n this._initialMatchesMiddlewarePromise = Promise.resolve(false)\n\n if (typeof window !== 'undefined') {\n // make sure \"as\" doesn't start with double slashes or else it can\n // throw an error as it's considered invalid\n if (!as.startsWith('//')) {\n // in order for `e.state` to work on the `onpopstate` event\n // we have to register the initial route upon initialization\n const options: TransitionOptions = { locale }\n const asPath = getURL()\n\n this._initialMatchesMiddlewarePromise = matchesMiddleware({\n router: this,\n locale,\n asPath,\n }).then((matches) => {\n // if middleware matches we leave resolving to the change function\n // as the server needs to resolve for correct priority\n ;(options as any)._shouldResolveHref = as !== pathname\n\n this.changeState(\n 'replaceState',\n matches\n ? asPath\n : formatWithValidation({\n pathname: addBasePath(pathname),\n query,\n }),\n asPath,\n options\n )\n return matches\n })\n }\n\n window.addEventListener('popstate', this.onPopState)\n\n // enable custom scroll restoration handling when available\n // otherwise fallback to browser's default handling\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n window.history.scrollRestoration = 'manual'\n }\n }\n }\n }\n\n onPopState = (e: PopStateEvent): void => {\n const { isFirstPopStateEvent } = this\n this.isFirstPopStateEvent = false\n\n const state = e.state as HistoryState\n\n if (!state) {\n // We get state as undefined for two reasons.\n // 1. With older safari (< 8) and older chrome (< 34)\n // 2. When the URL changed with #\n //\n // In the both cases, we don't need to proceed and change the route.\n // (as it's already changed)\n // But we can simply replace the state with the new changes.\n // Actually, for (1) we don't need to nothing. But it's hard to detect that event.\n // So, doing the following for (1) does no harm.\n const { pathname, query } = this\n this.changeState(\n 'replaceState',\n formatWithValidation({ pathname: addBasePath(pathname), query }),\n getURL()\n )\n return\n }\n\n // __NA is used to identify if the history entry can be handled by the app-router.\n if (state.__NA) {\n window.location.reload()\n return\n }\n\n if (!state.__N) {\n return\n }\n\n // Safari fires popstateevent when reopening the browser.\n if (\n isFirstPopStateEvent &&\n this.locale === state.options.locale &&\n state.as === this.asPath\n ) {\n return\n }\n\n let forcedScroll: { x: number; y: number } | undefined\n const { url, as, options, key } = state\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n if (manualScrollRestoration) {\n if (this._key !== key) {\n // Snapshot current scroll position:\n try {\n sessionStorage.setItem(\n '__next_scroll_' + this._key,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n\n // Restore old scroll position:\n try {\n const v = sessionStorage.getItem('__next_scroll_' + key)\n forcedScroll = JSON.parse(v!)\n } catch {\n forcedScroll = { x: 0, y: 0 }\n }\n }\n }\n }\n this._key = key\n\n const { pathname } = parseRelativeUrl(url)\n\n // Make sure we don't re-render on initial load,\n // can be caused by navigating back from an external site\n if (\n this.isSsr &&\n as === addBasePath(this.asPath) &&\n pathname === addBasePath(this.pathname)\n ) {\n return\n }\n\n // If the downstream application returns falsy, return.\n // They will then be responsible for handling the event.\n if (this._bps && !this._bps(state)) {\n return\n }\n\n this.change(\n 'replaceState',\n url,\n as,\n Object.assign<{}, TransitionOptions, TransitionOptions>({}, options, {\n shallow: options.shallow && this._shallow,\n locale: options.locale || this.defaultLocale,\n // @ts-ignore internal value not exposed on types\n _h: 0,\n }),\n forcedScroll\n )\n }\n\n reload(): void {\n window.location.reload()\n }\n\n /**\n * Go back in history\n */\n back() {\n window.history.back()\n }\n\n /**\n * Go forward in history\n */\n forward() {\n window.history.forward()\n }\n\n /**\n * Performs a `pushState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n push(url: Url, as?: Url, options: TransitionOptions = {}) {\n if (process.env.__NEXT_SCROLL_RESTORATION) {\n // TODO: remove in the future when we update history before route change\n // is complete, as the popstate event should handle this capture.\n if (manualScrollRestoration) {\n try {\n // Snapshot scroll position right before navigating to a new page:\n sessionStorage.setItem(\n '__next_scroll_' + this._key,\n JSON.stringify({ x: self.pageXOffset, y: self.pageYOffset })\n )\n } catch {}\n }\n }\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('pushState', url, as, options)\n }\n\n /**\n * Performs a `replaceState` with arguments\n * @param url of the route\n * @param as masks `url` for the browser\n * @param options object you can define `shallow` and other options\n */\n replace(url: Url, as?: Url, options: TransitionOptions = {}) {\n ;({ url, as } = prepareUrlAs(this, url, as))\n return this.change('replaceState', url, as, options)\n }\n\n async _bfl(\n as: string,\n resolvedAs?: string,\n locale?: string | false,\n skipNavigate?: boolean\n ) {\n if (process.env.__NEXT_CLIENT_ROUTER_FILTER_ENABLED) {\n if (!this._bfl_s && !this._bfl_d) {\n const { BloomFilter } =\n require('../../lib/bloom-filter') as typeof import('../../lib/bloom-filter')\n\n type Filter = ReturnType<\n import('../../lib/bloom-filter').BloomFilter['export']\n >\n let staticFilterData: Filter | undefined\n let dynamicFilterData: Filter | undefined\n\n try {\n ;({\n __routerFilterStatic: staticFilterData,\n __routerFilterDynamic: dynamicFilterData,\n } = (await getClientBuildManifest()) as any as {\n __routerFilterStatic?: Filter\n __routerFilterDynamic?: Filter\n })\n } catch (err) {\n // failed to load build manifest hard navigate\n // to be safe\n console.error(err)\n if (skipNavigate) {\n return true\n }\n handleHardNavigation({\n url: addBasePath(\n addLocale(as, locale || this.locale, this.defaultLocale)\n ),\n router: this,\n })\n return new Promise(() => {})\n }\n\n const routerFilterSValue: Filter | false = process.env\n .__NEXT_CLIENT_ROUTER_S_FILTER as any\n\n if (!staticFilterData && routerFilterSValue) {\n staticFilterData = routerFilterSValue ? routerFilterSValue : undefined\n }\n\n const routerFilterDValue: Filter | false = process.env\n .__NEXT_CLIENT_ROUTER_D_FILTER as any\n\n if (!dynamicFilterData && routerFilterDValue) {\n dynamicFilterData = routerFilterDValue\n ? routerFilterDValue\n : undefined\n }\n\n if (staticFilterData?.numHashes) {\n this._bfl_s = new BloomFilter(\n staticFilterData.numItems,\n staticFilterData.errorRate\n )\n this._bfl_s.import(staticFilterData)\n }\n\n if (dynamicFilterData?.numHashes) {\n this._bfl_d = new BloomFilter(\n dynamicFilterData.numItems,\n dynamicFilterData.errorRate\n )\n this._bfl_d.import(dynamicFilterData)\n }\n }\n\n let matchesBflStatic = false\n let matchesBflDynamic = false\n const pathsToCheck: Array<{ as?: string; allowMatchCurrent?: boolean }> =\n [{ as }, { as: resolvedAs }]\n\n for (const { as: curAs, allowMatchCurrent } of pathsToCheck) {\n if (curAs) {\n const asNoSlash = removeTrailingSlash(\n new URL(curAs, 'http://n').pathname\n )\n const asNoSlashLocale = addBasePath(\n addLocale(asNoSlash, locale || this.locale)\n )\n\n if (\n allowMatchCurrent ||\n asNoSlash !==\n removeTrailingSlash(new URL(this.asPath, 'http://n').pathname)\n ) {\n matchesBflStatic =\n matchesBflStatic ||\n !!this._bfl_s?.contains(asNoSlash) ||\n !!this._bfl_s?.contains(asNoSlashLocale)\n\n for (const normalizedAS of [asNoSlash, asNoSlashLocale]) {\n // if any sub-path of as matches a dynamic filter path\n // it should be hard navigated\n const curAsParts = normalizedAS.split('/')\n for (\n let i = 0;\n !matchesBflDynamic && i < curAsParts.length + 1;\n i++\n ) {\n const currentPart = curAsParts.slice(0, i).join('/')\n if (currentPart && this._bfl_d?.contains(currentPart)) {\n matchesBflDynamic = true\n break\n }\n }\n }\n\n // if the client router filter is matched then we trigger\n // a hard navigation\n if (matchesBflStatic || matchesBflDynamic) {\n if (skipNavigate) {\n return true\n }\n handleHardNavigation({\n url: addBasePath(\n addLocale(as, locale || this.locale, this.defaultLocale)\n ),\n router: this,\n })\n return new Promise(() => {})\n }\n }\n }\n }\n }\n return false\n }\n\n private async change(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions,\n forcedScroll?: { x: number; y: number }\n ): Promise {\n if (!isLocalURL(url)) {\n handleHardNavigation({ url, router: this })\n return false\n }\n // WARNING: `_h` is an internal option for handing Next.js client-side\n // hydration. Your app should _never_ use this property. It may change at\n // any time without notice.\n const isQueryUpdating = (options as any)._h === 1\n\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(as, undefined, options.locale)\n }\n\n let shouldResolveHref =\n isQueryUpdating ||\n (options as any)._shouldResolveHref ||\n parsePath(url).pathname === parsePath(as).pathname\n\n const nextState = {\n ...this.state,\n }\n\n // for static pages with query params in the URL we delay\n // marking the router ready until after the query is updated\n // or a navigation has occurred\n const readyStateChange = this.isReady !== true\n this.isReady = true\n const isSsr = this.isSsr\n\n if (!isQueryUpdating) {\n this.isSsr = false\n }\n\n // if a route transition is already in progress before\n // the query updating is triggered ignore query updating\n if (isQueryUpdating && this.clc) {\n return false\n }\n\n const prevLocale = nextState.locale\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n nextState.locale =\n options.locale === false\n ? this.defaultLocale\n : options.locale || nextState.locale\n\n if (typeof options.locale === 'undefined') {\n options.locale = nextState.locale\n }\n\n const parsedAs = parseRelativeUrl(\n hasBasePath(as) ? removeBasePath(as) : as\n )\n const localePathResult = normalizeLocalePath(\n parsedAs.pathname,\n this.locales\n )\n\n if (localePathResult.detectedLocale) {\n nextState.locale = localePathResult.detectedLocale\n parsedAs.pathname = addBasePath(parsedAs.pathname)\n as = formatWithValidation(parsedAs)\n url = addBasePath(\n normalizeLocalePath(\n hasBasePath(url) ? removeBasePath(url) : url,\n this.locales\n ).pathname\n )\n }\n let didNavigate = false\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if the locale isn't configured hard navigate to show 404 page\n if (!this.locales?.includes(nextState.locale!)) {\n parsedAs.pathname = addLocale(parsedAs.pathname, nextState.locale)\n handleHardNavigation({\n url: formatWithValidation(parsedAs),\n router: this,\n })\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n const detectedDomain = detectDomainLocale(\n this.domainLocales,\n undefined,\n nextState.locale\n )\n\n // we need to wrap this in the env check again since regenerator runtime\n // moves this on its own due to the return\n if (process.env.__NEXT_I18N_SUPPORT) {\n // if we are navigating to a domain locale ensure we redirect to the\n // correct domain\n if (\n !didNavigate &&\n detectedDomain &&\n this.isLocaleDomain &&\n self.location.hostname !== detectedDomain.domain\n ) {\n const asNoBasePath = removeBasePath(as)\n handleHardNavigation({\n url: `http${detectedDomain.http ? '' : 's'}://${\n detectedDomain.domain\n }${addBasePath(\n `${\n nextState.locale === detectedDomain.defaultLocale\n ? ''\n : `/${nextState.locale}`\n }${asNoBasePath === '/' ? '' : asNoBasePath}` || '/'\n )}`,\n router: this,\n })\n // this was previously a return but was removed in favor\n // of better dead code elimination with regenerator runtime\n didNavigate = true\n }\n }\n\n if (didNavigate) {\n return new Promise(() => {})\n }\n }\n\n // marking route changes as a navigation start entry\n if (ST) {\n performance.mark('routeChange')\n }\n\n const { shallow = false, scroll = true } = options\n const routeProps = { shallow }\n\n if (this._inFlightRoute && this.clc) {\n if (!isSsr) {\n Router.events.emit(\n 'routeChangeError',\n buildCancellationError(),\n this._inFlightRoute,\n routeProps\n )\n }\n this.clc()\n this.clc = null\n }\n\n as = addBasePath(\n addLocale(\n hasBasePath(as) ? removeBasePath(as) : as,\n options.locale,\n this.defaultLocale\n )\n )\n const cleanedAs = removeLocale(\n hasBasePath(as) ? removeBasePath(as) : as,\n nextState.locale\n )\n this._inFlightRoute = as\n\n const localeChange = prevLocale !== nextState.locale\n\n // If the url change is only related to a hash change\n // We should not proceed. We should only change the state.\n\n if (!isQueryUpdating && this.onlyAHashChange(cleanedAs) && !localeChange) {\n nextState.asPath = cleanedAs\n Router.events.emit('hashChangeStart', as, routeProps)\n // TODO: do we need the resolved href when only a hash change?\n this.changeState(method, url, as, {\n ...options,\n scroll: false,\n })\n if (scroll) {\n this.scrollToHash(cleanedAs)\n }\n try {\n await this.set(nextState, this.components[nextState.route], null)\n } catch (err) {\n if (isError(err) && err.cancelled) {\n Router.events.emit('routeChangeError', err, cleanedAs, routeProps)\n }\n throw err\n }\n\n Router.events.emit('hashChangeComplete', as, routeProps)\n return true\n }\n\n let parsed = parseRelativeUrl(url)\n let { pathname, query } = parsed\n\n // The build manifest needs to be loaded before auto-static dynamic pages\n // get their query parameters to allow ensuring they can be parsed properly\n // when rewritten to\n let pages: string[], rewrites: any\n try {\n ;[pages, { __rewrites: rewrites }] = await Promise.all([\n this.pageLoader.getPageList(),\n getClientBuildManifest(),\n this.pageLoader.getMiddleware(),\n ])\n } catch (err) {\n // If we fail to resolve the page list or client-build manifest, we must\n // do a server-side transition:\n handleHardNavigation({ url: as, router: this })\n return false\n }\n\n // If asked to change the current URL we should reload the current page\n // (not location.reload() but reload getInitialProps and other Next.js stuffs)\n // We also need to set the method = replaceState always\n // as this should not go into the history (That's how browsers work)\n // We should compare the new asPath to the current asPath, not the url\n if (!this.urlIsNew(cleanedAs) && !localeChange) {\n method = 'replaceState'\n }\n\n // we need to resolve the as value using rewrites for dynamic SSG\n // pages to allow building the data URL correctly\n let resolvedAs = as\n\n // url and as should always be prefixed with basePath by this\n // point by either next/link or router.push/replace so strip the\n // basePath from the pathname to match the pages dir 1-to-1\n pathname = pathname\n ? removeTrailingSlash(removeBasePath(pathname))\n : pathname\n\n let route = removeTrailingSlash(pathname)\n const parsedAsPathname = as.startsWith('/') && parseRelativeUrl(as).pathname\n\n // if we detected the path as app route during prefetching\n // trigger hard navigation\n if ((this.components[pathname] as any)?.__appRouter) {\n handleHardNavigation({ url: as, router: this })\n return new Promise(() => {})\n }\n\n const isMiddlewareRewrite = !!(\n parsedAsPathname &&\n route !== parsedAsPathname &&\n (!isDynamicRoute(route) ||\n !getRouteMatcher(getRouteRegex(route))(parsedAsPathname))\n )\n\n // we don't attempt resolve asPath when we need to execute\n // middleware as the resolving will occur server-side\n const isMiddlewareMatch =\n !options.shallow &&\n (await matchesMiddleware({\n asPath: as,\n locale: nextState.locale,\n router: this,\n }))\n\n if (isQueryUpdating && isMiddlewareMatch) {\n shouldResolveHref = false\n }\n\n if (shouldResolveHref && pathname !== '/_error') {\n ;(options as any)._shouldResolveHref = true\n\n if (process.env.__NEXT_HAS_REWRITES && as.startsWith('/')) {\n const rewritesResult = resolveRewrites(\n addBasePath(addLocale(cleanedAs, nextState.locale), true),\n pages,\n rewrites,\n query,\n (p: string) => resolveDynamicRoute(p, pages),\n this.locales\n )\n\n if (rewritesResult.externalDest) {\n handleHardNavigation({ url: as, router: this })\n return true\n }\n if (!isMiddlewareMatch) {\n resolvedAs = rewritesResult.asPath\n }\n\n if (rewritesResult.matchedPage && rewritesResult.resolvedHref) {\n // if this directly matches a page we need to update the href to\n // allow the correct page chunk to be loaded\n pathname = rewritesResult.resolvedHref\n parsed.pathname = addBasePath(pathname)\n\n if (!isMiddlewareMatch) {\n url = formatWithValidation(parsed)\n }\n }\n } else {\n parsed.pathname = resolveDynamicRoute(pathname, pages)\n\n if (parsed.pathname !== pathname) {\n pathname = parsed.pathname\n parsed.pathname = addBasePath(pathname)\n\n if (!isMiddlewareMatch) {\n url = formatWithValidation(parsed)\n }\n }\n }\n }\n\n if (!isLocalURL(as)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `Invalid href: \"${url}\" and as: \"${as}\", received relative href and external as` +\n `\\nSee more info: https://nextjs.org/docs/messages/invalid-relative-url-external-as`\n )\n }\n handleHardNavigation({ url: as, router: this })\n return false\n }\n\n resolvedAs = removeLocale(removeBasePath(resolvedAs), nextState.locale)\n\n route = removeTrailingSlash(pathname)\n let routeMatch: Params | false = false\n\n if (isDynamicRoute(route)) {\n const parsedAs = parseRelativeUrl(resolvedAs)\n const asPathname = parsedAs.pathname\n\n const routeRegex = getRouteRegex(route)\n routeMatch = getRouteMatcher(routeRegex)(asPathname)\n const shouldInterpolate = route === asPathname\n const interpolatedAs = shouldInterpolate\n ? interpolateAs(route, asPathname, query)\n : ({} as { result: undefined; params: undefined })\n\n if (!routeMatch || (shouldInterpolate && !interpolatedAs.result)) {\n const missingParams = Object.keys(routeRegex.groups).filter(\n (param) => !query[param] && !routeRegex.groups[param].optional\n )\n\n if (missingParams.length > 0 && !isMiddlewareMatch) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `${\n shouldInterpolate\n ? `Interpolating href`\n : `Mismatching \\`as\\` and \\`href\\``\n } failed to manually provide ` +\n `the params: ${missingParams.join(\n ', '\n )} in the \\`href\\`'s \\`query\\``\n )\n }\n\n throw new Error(\n (shouldInterpolate\n ? `The provided \\`href\\` (${url}) value is missing query values (${missingParams.join(\n ', '\n )}) to be interpolated properly. `\n : `The provided \\`as\\` value (${asPathname}) is incompatible with the \\`href\\` value (${route}). `) +\n `Read more: https://nextjs.org/docs/messages/${\n shouldInterpolate\n ? 'href-interpolation-failed'\n : 'incompatible-href-as'\n }`\n )\n }\n } else if (shouldInterpolate) {\n as = formatWithValidation(\n Object.assign({}, parsedAs, {\n pathname: interpolatedAs.result,\n query: omit(query, interpolatedAs.params!),\n })\n )\n } else {\n // Merge params into `query`, overwriting any specified in search\n Object.assign(query, routeMatch)\n }\n }\n\n if (!isQueryUpdating) {\n Router.events.emit('routeChangeStart', as, routeProps)\n }\n\n const isErrorRoute = this.pathname === '/404' || this.pathname === '/_error'\n\n try {\n let routeInfo = await this.getRouteInfo({\n route,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n hasMiddleware: isMiddlewareMatch,\n unstable_skipClientCache: options.unstable_skipClientCache,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n isMiddlewareRewrite,\n })\n\n if (!isQueryUpdating && !options.shallow) {\n await this._bfl(\n as,\n 'resolvedAs' in routeInfo ? routeInfo.resolvedAs : undefined,\n nextState.locale\n )\n }\n\n if ('route' in routeInfo && isMiddlewareMatch) {\n pathname = routeInfo.route || route\n route = pathname\n\n if (!routeProps.shallow) {\n query = Object.assign({}, routeInfo.query || {}, query)\n }\n\n const cleanedParsedPathname = hasBasePath(parsed.pathname)\n ? removeBasePath(parsed.pathname)\n : parsed.pathname\n\n if (routeMatch && pathname !== cleanedParsedPathname) {\n Object.keys(routeMatch).forEach((key) => {\n if (routeMatch && query[key] === routeMatch[key]) {\n delete query[key]\n }\n })\n }\n\n if (isDynamicRoute(pathname)) {\n const prefixedAs =\n !routeProps.shallow && routeInfo.resolvedAs\n ? routeInfo.resolvedAs\n : addBasePath(\n addLocale(\n new URL(as, location.href).pathname,\n nextState.locale\n ),\n true\n )\n\n let rewriteAs = prefixedAs\n\n if (hasBasePath(rewriteAs)) {\n rewriteAs = removeBasePath(rewriteAs)\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n const localeResult = normalizeLocalePath(rewriteAs, this.locales)\n nextState.locale = localeResult.detectedLocale || nextState.locale\n rewriteAs = localeResult.pathname\n }\n const routeRegex = getRouteRegex(pathname)\n const curRouteMatch = getRouteMatcher(routeRegex)(\n new URL(rewriteAs, location.href).pathname\n )\n\n if (curRouteMatch) {\n Object.assign(query, curRouteMatch)\n }\n }\n }\n\n // If the routeInfo brings a redirect we simply apply it.\n if ('type' in routeInfo) {\n if (routeInfo.type === 'redirect-internal') {\n return this.change(method, routeInfo.newUrl, routeInfo.newAs, options)\n } else {\n handleHardNavigation({ url: routeInfo.destination, router: this })\n return new Promise(() => {})\n }\n }\n\n const component: any = routeInfo.Component\n if (component && component.unstable_scriptLoader) {\n const scripts = [].concat(component.unstable_scriptLoader())\n\n scripts.forEach((script: any) => {\n handleClientScriptLoad(script.props)\n })\n }\n\n // handle redirect on client-transition\n if ((routeInfo.__N_SSG || routeInfo.__N_SSP) && routeInfo.props) {\n if (\n routeInfo.props.pageProps &&\n routeInfo.props.pageProps.__N_REDIRECT\n ) {\n // Use the destination from redirect without adding locale\n options.locale = false\n\n const destination = routeInfo.props.pageProps.__N_REDIRECT\n\n // check if destination is internal (resolves to a page) and attempt\n // client-navigation if it is falling back to hard navigation if\n // it's not\n if (\n destination.startsWith('/') &&\n routeInfo.props.pageProps.__N_REDIRECT_BASE_PATH !== false\n ) {\n const parsedHref = parseRelativeUrl(destination)\n parsedHref.pathname = resolveDynamicRoute(\n parsedHref.pathname,\n pages\n )\n\n const { url: newUrl, as: newAs } = prepareUrlAs(\n this,\n destination,\n destination\n )\n return this.change(method, newUrl, newAs, options)\n }\n handleHardNavigation({ url: destination, router: this })\n return new Promise(() => {})\n }\n\n nextState.isPreview = !!routeInfo.props.__N_PREVIEW\n\n // handle SSG data 404\n if (routeInfo.props.notFound === SSG_DATA_NOT_FOUND) {\n let notFoundRoute\n\n try {\n await this.fetchComponent('/404')\n notFoundRoute = '/404'\n } catch (_) {\n notFoundRoute = '/_error'\n }\n\n routeInfo = await this.getRouteInfo({\n route: notFoundRoute,\n pathname: notFoundRoute,\n query,\n as,\n resolvedAs,\n routeProps: { shallow: false },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isNotFound: true,\n })\n\n if ('type' in routeInfo) {\n throw new Error(`Unexpected middleware effect on /404`)\n }\n }\n }\n\n if (\n isQueryUpdating &&\n this.pathname === '/_error' &&\n self.__NEXT_DATA__.props?.pageProps?.statusCode === 500 &&\n routeInfo.props?.pageProps\n ) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500\n }\n\n // shallow routing is only allowed for same page URL changes.\n const isValidShallowRoute =\n options.shallow && nextState.route === (routeInfo.route ?? route)\n\n const shouldScroll =\n options.scroll ?? (!isQueryUpdating && !isValidShallowRoute)\n const resetScroll = shouldScroll ? { x: 0, y: 0 } : null\n const upcomingScrollState = forcedScroll ?? resetScroll\n\n // the new state that the router gonna set\n const upcomingRouterState = {\n ...nextState,\n route,\n pathname,\n query,\n asPath: cleanedAs,\n isFallback: false,\n }\n\n // When the page being rendered is the 404 page, we should only update the\n // query parameters. Route changes here might add the basePath when it\n // wasn't originally present. This is also why this block is before the\n // below `changeState` call which updates the browser's history (changing\n // the URL).\n if (isQueryUpdating && isErrorRoute) {\n routeInfo = await this.getRouteInfo({\n route: this.pathname,\n pathname: this.pathname,\n query,\n as,\n resolvedAs,\n routeProps: { shallow: false },\n locale: nextState.locale,\n isPreview: nextState.isPreview,\n isQueryUpdating: isQueryUpdating && !this.isFallback,\n })\n\n if ('type' in routeInfo) {\n throw new Error(`Unexpected middleware effect on ${this.pathname}`)\n }\n\n if (\n this.pathname === '/_error' &&\n self.__NEXT_DATA__.props?.pageProps?.statusCode === 500 &&\n routeInfo.props?.pageProps\n ) {\n // ensure statusCode is still correct for static 500 page\n // when updating query information\n routeInfo.props.pageProps.statusCode = 500\n }\n\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState)\n } catch (err) {\n if (isError(err) && err.cancelled) {\n Router.events.emit('routeChangeError', err, cleanedAs, routeProps)\n }\n throw err\n }\n\n return true\n }\n\n Router.events.emit('beforeHistoryChange', as, routeProps)\n this.changeState(method, url, as, options)\n\n // for query updates we can skip it if the state is unchanged and we don't\n // need to scroll\n // https://github.com/vercel/next.js/issues/37139\n const canSkipUpdating =\n isQueryUpdating &&\n !upcomingScrollState &&\n !readyStateChange &&\n !localeChange &&\n compareRouterStates(upcomingRouterState, this.state)\n\n if (!canSkipUpdating) {\n try {\n await this.set(upcomingRouterState, routeInfo, upcomingScrollState)\n } catch (e: any) {\n if (e.cancelled) routeInfo.error = routeInfo.error || e\n else throw e\n }\n\n if (routeInfo.error) {\n if (!isQueryUpdating) {\n Router.events.emit(\n 'routeChangeError',\n routeInfo.error,\n cleanedAs,\n routeProps\n )\n }\n\n throw routeInfo.error\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (nextState.locale) {\n document.documentElement.lang = nextState.locale\n }\n }\n\n if (!isQueryUpdating) {\n Router.events.emit('routeChangeComplete', as, routeProps)\n }\n\n // A hash mark # is the optional last part of a URL\n const hashRegex = /#.+$/\n if (shouldScroll && hashRegex.test(as)) {\n this.scrollToHash(as)\n }\n }\n\n return true\n } catch (err) {\n if (isError(err) && err.cancelled) {\n return false\n }\n throw err\n }\n }\n\n changeState(\n method: HistoryMethod,\n url: string,\n as: string,\n options: TransitionOptions = {}\n ): void {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window.history === 'undefined') {\n console.error(`Warning: window.history is not available.`)\n return\n }\n\n if (typeof window.history[method] === 'undefined') {\n console.error(`Warning: window.history.${method} is not available`)\n return\n }\n }\n\n if (method !== 'pushState' || getURL() !== as) {\n this._shallow = options.shallow\n window.history[method](\n {\n url,\n as,\n options,\n __N: true,\n key: (this._key = method !== 'pushState' ? this._key : createKey()),\n } as HistoryState,\n // Most browsers currently ignores this parameter, although they may use it in the future.\n // Passing the empty string here should be safe against future changes to the method.\n // https://developer.mozilla.org/docs/Web/API/History/replaceState\n '',\n as\n )\n }\n }\n\n async handleRouteInfoError(\n err: Error & { code?: any; cancelled?: boolean },\n pathname: string,\n query: ParsedUrlQuery,\n as: string,\n routeProps: RouteProperties,\n loadErrorFail?: boolean\n ): Promise {\n if (err.cancelled) {\n // bubble up cancellation errors\n throw err\n }\n\n if (isAssetError(err) || loadErrorFail) {\n Router.events.emit('routeChangeError', err, as, routeProps)\n\n // If we can't load the page it could be one of following reasons\n // 1. Page doesn't exists\n // 2. Page does exist in a different zone\n // 3. Internal error while loading the page\n\n // So, doing a hard reload is the proper way to deal with this.\n handleHardNavigation({\n url: as,\n router: this,\n })\n\n // Changing the URL doesn't block executing the current code path.\n // So let's throw a cancellation error stop the routing logic.\n throw buildCancellationError()\n }\n\n console.error(err)\n\n try {\n let props: Record | undefined\n const { page: Component, styleSheets } =\n await this.fetchComponent('/_error')\n\n const routeInfo: CompletePrivateRouteInfo = {\n props,\n Component,\n styleSheets,\n err,\n error: err,\n }\n\n if (!routeInfo.props) {\n try {\n routeInfo.props = await this.getInitialProps(Component, {\n err,\n pathname,\n query,\n } as any)\n } catch (gipErr) {\n console.error('Error in error page `getInitialProps`: ', gipErr)\n routeInfo.props = {}\n }\n }\n\n return routeInfo\n } catch (routeInfoErr) {\n return this.handleRouteInfoError(\n isError(routeInfoErr) ? routeInfoErr : new Error(routeInfoErr + ''),\n pathname,\n query,\n as,\n routeProps,\n true\n )\n }\n }\n\n async getRouteInfo({\n route: requestedRoute,\n pathname,\n query,\n as,\n resolvedAs,\n routeProps,\n locale,\n hasMiddleware,\n isPreview,\n unstable_skipClientCache,\n isQueryUpdating,\n isMiddlewareRewrite,\n isNotFound,\n }: {\n route: string\n pathname: string\n query: ParsedUrlQuery\n as: string\n resolvedAs: string\n hasMiddleware?: boolean\n routeProps: RouteProperties\n locale: string | undefined\n isPreview: boolean\n unstable_skipClientCache?: boolean\n isQueryUpdating?: boolean\n isMiddlewareRewrite?: boolean\n isNotFound?: boolean\n }) {\n /**\n * This `route` binding can change if there's a rewrite\n * so we keep a reference to the original requested route\n * so we can store the cache for it and avoid re-requesting every time\n * for shallow routing purposes.\n */\n let route = requestedRoute\n\n try {\n let existingInfo: PrivateRouteInfo | undefined = this.components[route]\n if (routeProps.shallow && existingInfo && this.route === route) {\n return existingInfo\n }\n\n const handleCancelled = getCancelledHandler({ route, router: this })\n\n if (hasMiddleware) {\n existingInfo = undefined\n }\n\n let cachedRouteInfo =\n existingInfo &&\n !('initial' in existingInfo) &&\n process.env.NODE_ENV !== 'development'\n ? existingInfo\n : undefined\n\n const isBackground = isQueryUpdating\n const fetchNextDataParams: FetchNextDataParams = {\n dataHref: this.pageLoader.getDataHref({\n href: formatWithValidation({ pathname, query }),\n skipInterpolation: true,\n asPath: isNotFound ? '/404' : resolvedAs,\n locale,\n }),\n hasMiddleware: true,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: isBackground ? this.sbc : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n isBackground,\n }\n\n let data:\n | WithMiddlewareEffectsOutput\n | (Pick &\n Omit, 'json'>)\n | null =\n isQueryUpdating && !isMiddlewareRewrite\n ? null\n : await withMiddlewareEffects({\n fetchData: () => fetchNextData(fetchNextDataParams),\n asPath: isNotFound ? '/404' : resolvedAs,\n locale: locale,\n router: this,\n }).catch((err) => {\n // we don't hard error during query updating\n // as it's un-necessary and doesn't need to be fatal\n // unless it is a fallback route and the props can't\n // be loaded\n if (isQueryUpdating) {\n return null\n }\n throw err\n })\n\n // when rendering error routes we don't apply middleware\n // effects\n if (data && (pathname === '/_error' || pathname === '/404')) {\n data.effect = undefined\n }\n\n if (isQueryUpdating) {\n if (!data) {\n data = { json: self.__NEXT_DATA__.props }\n } else {\n data.json = self.__NEXT_DATA__.props\n }\n }\n\n handleCancelled()\n\n if (\n data?.effect?.type === 'redirect-internal' ||\n data?.effect?.type === 'redirect-external'\n ) {\n return data.effect\n }\n\n if (data?.effect?.type === 'rewrite') {\n const resolvedRoute = removeTrailingSlash(data.effect.resolvedHref)\n const pages = await this.pageLoader.getPageList()\n\n // during query updating the page must match although during\n // client-transition a redirect that doesn't match a page\n // can be returned and this should trigger a hard navigation\n // which is valid for incremental migration\n if (!isQueryUpdating || pages.includes(resolvedRoute)) {\n route = resolvedRoute\n pathname = data.effect.resolvedHref\n query = { ...query, ...data.effect.parsedAs.query }\n resolvedAs = removeBasePath(\n normalizeLocalePath(data.effect.parsedAs.pathname, this.locales)\n .pathname\n )\n\n // Check again the cache with the new destination.\n existingInfo = this.components[route]\n if (\n routeProps.shallow &&\n existingInfo &&\n this.route === route &&\n !hasMiddleware\n ) {\n // If we have a match with the current route due to rewrite,\n // we can copy the existing information to the rewritten one.\n // Then, we return the information along with the matched route.\n return { ...existingInfo, route }\n }\n }\n }\n\n if (isAPIRoute(route)) {\n handleHardNavigation({ url: as, router: this })\n return new Promise(() => {})\n }\n\n const routeInfo =\n cachedRouteInfo ||\n (await this.fetchComponent(route).then(\n (res) => ({\n Component: res.page,\n styleSheets: res.styleSheets,\n __N_SSG: res.mod.__N_SSG,\n __N_SSP: res.mod.__N_SSP,\n })\n ))\n\n if (process.env.NODE_ENV !== 'production') {\n const { isValidElementType } = require('next/dist/compiled/react-is')\n if (!isValidElementType(routeInfo.Component)) {\n throw new Error(\n `The default export is not a React Component in page: \"${pathname}\"`\n )\n }\n }\n const wasBailedPrefetch = data?.response?.headers.get('x-middleware-skip')\n\n const shouldFetchData = routeInfo.__N_SSG || routeInfo.__N_SSP\n\n // For non-SSG prefetches that bailed before sending data\n // we clear the cache to fetch full response\n if (wasBailedPrefetch && data?.dataHref) {\n delete this.sdc[data.dataHref]\n }\n\n const { props, cacheKey } = await this._getData(async () => {\n if (shouldFetchData) {\n if (data?.json && !wasBailedPrefetch) {\n return { cacheKey: data.cacheKey, props: data.json }\n }\n\n const dataHref = data?.dataHref\n ? data.dataHref\n : this.pageLoader.getDataHref({\n href: formatWithValidation({ pathname, query }),\n asPath: resolvedAs,\n locale,\n })\n\n const fetched = await fetchNextData({\n dataHref,\n isServerRender: this.isSsr,\n parseJSON: true,\n inflightCache: wasBailedPrefetch ? {} : this.sdc,\n persistCache: !isPreview,\n isPrefetch: false,\n unstable_skipClientCache,\n })\n\n return {\n cacheKey: fetched.cacheKey,\n props: fetched.json || {},\n }\n }\n\n return {\n headers: {},\n props: await this.getInitialProps(\n routeInfo.Component,\n // we provide AppTree later so this needs to be `any`\n {\n pathname,\n query,\n asPath: as,\n locale,\n locales: this.locales,\n defaultLocale: this.defaultLocale,\n } as any\n ),\n }\n })\n\n // Only bust the data cache for SSP routes although\n // middleware can skip cache per request with\n // x-middleware-cache: no-cache as well\n if (routeInfo.__N_SSP && fetchNextDataParams.dataHref && cacheKey) {\n delete this.sdc[cacheKey]\n }\n\n // we kick off a HEAD request in the background\n // when a non-prefetch request is made to signal revalidation\n if (\n !this.isPreview &&\n routeInfo.__N_SSG &&\n process.env.NODE_ENV !== 'development' &&\n !isQueryUpdating\n ) {\n fetchNextData(\n Object.assign({}, fetchNextDataParams, {\n isBackground: true,\n persistCache: false,\n inflightCache: this.sbc,\n })\n ).catch(() => {})\n }\n\n props.pageProps = Object.assign({}, props.pageProps)\n routeInfo.props = props\n routeInfo.route = route\n routeInfo.query = query\n routeInfo.resolvedAs = resolvedAs\n this.components[route] = routeInfo\n\n return routeInfo\n } catch (err) {\n return this.handleRouteInfoError(\n getProperError(err),\n pathname,\n query,\n as,\n routeProps\n )\n }\n }\n\n private set(\n state: typeof this.state,\n data: PrivateRouteInfo,\n resetScroll: { x: number; y: number } | null\n ): Promise {\n this.state = state\n\n return this.sub(\n data,\n this.components['/_app'].Component as AppComponent,\n resetScroll\n )\n }\n\n /**\n * Callback to execute before replacing router state\n * @param cb callback to be executed\n */\n beforePopState(cb: BeforePopStateCallback) {\n this._bps = cb\n }\n\n onlyAHashChange(as: string): boolean {\n if (!this.asPath) return false\n const [oldUrlNoHash, oldHash] = this.asPath.split('#', 2)\n const [newUrlNoHash, newHash] = as.split('#', 2)\n\n // Makes sure we scroll to the provided hash if the url/hash are the same\n if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {\n return true\n }\n\n // If the urls are change, there's more than a hash change\n if (oldUrlNoHash !== newUrlNoHash) {\n return false\n }\n\n // If the hash has changed, then it's a hash only change.\n // This check is necessary to handle both the enter and\n // leave hash === '' cases. The identity case falls through\n // and is treated as a next reload.\n return oldHash !== newHash\n }\n\n scrollToHash(as: string): void {\n const [, hash = ''] = as.split('#', 2)\n\n handleSmoothScroll(\n () => {\n // Scroll to top if the hash is just `#` with no value or `#top`\n // To mirror browsers\n if (hash === '' || hash === 'top') {\n window.scrollTo(0, 0)\n return\n }\n\n // Decode hash to make non-latin anchor works.\n const rawHash = decodeURIComponent(hash)\n // First we check if the element by id is found\n const idEl = document.getElementById(rawHash)\n if (idEl) {\n idEl.scrollIntoView()\n return\n }\n // If there's no element with the id, we check the `name` property\n // To mirror browsers\n const nameEl = document.getElementsByName(rawHash)[0]\n if (nameEl) {\n nameEl.scrollIntoView()\n }\n },\n {\n onlyHashChange: this.onlyAHashChange(as),\n }\n )\n }\n\n urlIsNew(asPath: string): boolean {\n return this.asPath !== asPath\n }\n\n /**\n * Prefetch page code, you may wait for the data during page rendering.\n * This feature only works in production!\n * @param url the href of prefetched page\n * @param asPath the as path of the prefetched page\n */\n async prefetch(\n url: string,\n asPath: string = url,\n options: PrefetchOptions = {}\n ): Promise {\n // Prefetch is not supported in development mode because it would trigger on-demand-entries\n if (process.env.NODE_ENV !== 'production') {\n return\n }\n\n if (typeof window !== 'undefined' && isBot(window.navigator.userAgent)) {\n // No prefetches for bots that render the link since they are typically navigating\n // links via the equivalent of a hard navigation and hence never utilize these\n // prefetches.\n return\n }\n let parsed = parseRelativeUrl(url)\n const urlPathname = parsed.pathname\n\n let { pathname, query } = parsed\n const originalPathname = pathname\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n if (options.locale === false) {\n pathname = normalizeLocalePath!(pathname, this.locales).pathname\n parsed.pathname = pathname\n url = formatWithValidation(parsed)\n\n let parsedAs = parseRelativeUrl(asPath)\n const localePathResult = normalizeLocalePath!(\n parsedAs.pathname,\n this.locales\n )\n parsedAs.pathname = localePathResult.pathname\n options.locale = localePathResult.detectedLocale || this.defaultLocale\n asPath = formatWithValidation(parsedAs)\n }\n }\n\n const pages = await this.pageLoader.getPageList()\n let resolvedAs = asPath\n\n const locale =\n typeof options.locale !== 'undefined'\n ? options.locale || undefined\n : this.locale\n\n const isMiddlewareMatch = await matchesMiddleware({\n asPath: asPath,\n locale: locale,\n router: this,\n })\n\n if (process.env.__NEXT_HAS_REWRITES && asPath.startsWith('/')) {\n let rewrites: any\n ;({ __rewrites: rewrites } = await getClientBuildManifest())\n\n const rewritesResult = resolveRewrites(\n addBasePath(addLocale(asPath, this.locale), true),\n pages,\n rewrites,\n parsed.query,\n (p: string) => resolveDynamicRoute(p, pages),\n this.locales\n )\n\n if (rewritesResult.externalDest) {\n return\n }\n\n if (!isMiddlewareMatch) {\n resolvedAs = removeLocale(\n removeBasePath(rewritesResult.asPath),\n this.locale\n )\n }\n\n if (rewritesResult.matchedPage && rewritesResult.resolvedHref) {\n // if this directly matches a page we need to update the href to\n // allow the correct page chunk to be loaded\n pathname = rewritesResult.resolvedHref\n parsed.pathname = pathname\n\n if (!isMiddlewareMatch) {\n url = formatWithValidation(parsed)\n }\n }\n }\n parsed.pathname = resolveDynamicRoute(parsed.pathname, pages)\n\n if (isDynamicRoute(parsed.pathname)) {\n pathname = parsed.pathname\n parsed.pathname = pathname\n Object.assign(\n query,\n getRouteMatcher(getRouteRegex(parsed.pathname))(\n parsePath(asPath).pathname\n ) || {}\n )\n\n if (!isMiddlewareMatch) {\n url = formatWithValidation(parsed)\n }\n }\n\n const data =\n process.env.__NEXT_MIDDLEWARE_PREFETCH === 'strict'\n ? null\n : await withMiddlewareEffects({\n fetchData: () =>\n fetchNextData({\n dataHref: this.pageLoader.getDataHref({\n href: formatWithValidation({\n pathname: originalPathname,\n query,\n }),\n skipInterpolation: true,\n asPath: resolvedAs,\n locale,\n }),\n hasMiddleware: true,\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n }),\n asPath: asPath,\n locale: locale,\n router: this,\n })\n\n /**\n * If there was a rewrite we apply the effects of the rewrite on the\n * current parameters for the prefetch.\n */\n if (data?.effect.type === 'rewrite') {\n parsed.pathname = data.effect.resolvedHref\n pathname = data.effect.resolvedHref\n query = { ...query, ...data.effect.parsedAs.query }\n resolvedAs = data.effect.parsedAs.pathname\n url = formatWithValidation(parsed)\n }\n\n /**\n * If there is a redirect to an external destination then we don't have\n * to prefetch content as it will be unused.\n */\n if (data?.effect.type === 'redirect-external') {\n return\n }\n\n const route = removeTrailingSlash(pathname)\n\n if (await this._bfl(asPath, resolvedAs, options.locale, true)) {\n this.components[urlPathname] = { __appRouter: true } as any\n }\n\n await Promise.all([\n this.pageLoader._isSsg(route).then((isSsg) => {\n return isSsg\n ? fetchNextData({\n dataHref: data?.json\n ? data?.dataHref\n : this.pageLoader.getDataHref({\n href: url,\n asPath: resolvedAs,\n locale: locale,\n }),\n isServerRender: false,\n parseJSON: true,\n inflightCache: this.sdc,\n persistCache: !this.isPreview,\n isPrefetch: true,\n unstable_skipClientCache:\n options.unstable_skipClientCache ||\n (options.priority &&\n !!process.env.__NEXT_OPTIMISTIC_CLIENT_CACHE),\n })\n .then(() => false)\n .catch(() => false)\n : false\n }),\n this.pageLoader[options.priority ? 'loadPage' : 'prefetch'](route),\n ])\n }\n\n async fetchComponent(route: string) {\n const handleCancelled = getCancelledHandler({ route, router: this })\n\n try {\n const componentResult = await this.pageLoader.loadPage(route)\n handleCancelled()\n\n return componentResult\n } catch (err) {\n handleCancelled()\n throw err\n }\n }\n\n _getData(fn: () => Promise): Promise {\n let cancelled = false\n const cancel = () => {\n cancelled = true\n }\n this.clc = cancel\n return fn().then((data) => {\n if (cancel === this.clc) {\n this.clc = null\n }\n\n if (cancelled) {\n const err: any = new Error('Loading initial props cancelled')\n err.cancelled = true\n throw err\n }\n\n return data\n })\n }\n\n getInitialProps(\n Component: ComponentType,\n ctx: NextPageContext\n ): Promise> {\n const { Component: App } = this.components['/_app']\n const AppTree = this._wrapApp(App as AppComponent)\n ctx.AppTree = AppTree\n return loadGetInitialProps>(App, {\n AppTree,\n Component,\n router: this,\n ctx,\n })\n }\n\n get route(): string {\n return this.state.route\n }\n\n get pathname(): string {\n return this.state.pathname\n }\n\n get query(): ParsedUrlQuery {\n return this.state.query\n }\n\n get asPath(): string {\n return this.state.asPath\n }\n\n get locale(): string | undefined {\n return this.state.locale\n }\n\n get isFallback(): boolean {\n return this.state.isFallback\n }\n\n get isPreview(): boolean {\n return this.state.isPreview\n }\n}\n","// This has to be a shared module which is shared between client component error boundary and dynamic component\nconst BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING'\n\n/** An error that should be thrown when we want to bail out to client-side rendering. */\nexport class BailoutToCSRError extends Error {\n public readonly digest = BAILOUT_TO_CSR\n\n constructor(public readonly reason: string) {\n super(`Bail out to client-side rendering: ${reason}`)\n }\n}\n\n/** Checks if a passed argument is an error that is thrown if we want to bail out to client-side rendering. */\nexport function isBailoutToCSRError(err: unknown): err is BailoutToCSRError {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false\n }\n\n return err.digest === BAILOUT_TO_CSR\n}\n","import type { Segment } from '../../server/app-render/types'\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function addSearchParamsIfPageSegment(\n segment: Segment,\n searchParams: Record\n) {\n const isPageSegment = segment.includes(PAGE_SEGMENT_KEY)\n\n if (isPageSegment) {\n const stringifiedQuery = JSON.stringify(searchParams)\n return stringifiedQuery !== '{}'\n ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery\n : PAGE_SEGMENT_KEY\n }\n\n return segment\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\n","import { pathHasPrefix } from './path-has-prefix'\n\n/**\n * Given a path and a prefix it will remove the prefix when it exists in the\n * given path. It ensures it matches exactly without containing extra chars\n * and if the prefix is not there it will be noop.\n *\n * @param path The path to remove the prefix from.\n * @param prefix The prefix to be removed.\n */\nexport function removePathPrefix(path: string, prefix: string): string {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!pathHasPrefix(path, prefix)) {\n return path\n }\n\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length)\n\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith('/')) {\n return withoutPrefix\n }\n\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return `/${withoutPrefix}`\n}\n","/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */\nexport function ensureLeadingSlash(path: string) {\n return path.startsWith('/') ? path : `/${path}`\n}\n","/* global location */\n// imports polyfill from `@next/polyfill-module` after build.\nimport '../build/polyfills/polyfill-module'\nimport type Router from '../shared/lib/router/router'\nimport type {\n AppComponent,\n AppProps,\n PrivateRouteInfo,\n} from '../shared/lib/router/router'\n\nimport React, { type JSX } from 'react'\nimport ReactDOM from 'react-dom/client'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport mitt from '../shared/lib/mitt'\nimport type { MittEmitter } from '../shared/lib/mitt'\nimport { RouterContext } from '../shared/lib/router-context.shared-runtime'\nimport { handleSmoothScroll } from '../shared/lib/router/utils/handle-smooth-scroll'\nimport { isDynamicRoute } from '../shared/lib/router/utils/is-dynamic'\nimport {\n urlQueryToSearchParams,\n assign,\n} from '../shared/lib/router/utils/querystring'\nimport { setConfig } from '../shared/lib/runtime-config.external'\nimport { getURL, loadGetInitialProps, ST } from '../shared/lib/utils'\nimport type { NextWebVitalsMetric, NEXT_DATA } from '../shared/lib/utils'\nimport { Portal } from './portal'\nimport initHeadManager from './head-manager'\nimport PageLoader from './page-loader'\nimport type { StyleSheetTuple } from './page-loader'\nimport { RouteAnnouncer } from './route-announcer'\nimport { createRouter, makePublicRouterInstance } from './router'\nimport { getProperError } from '../lib/is-error'\nimport { ImageConfigContext } from '../shared/lib/image-config-context.shared-runtime'\nimport type { ImageConfigComplete } from '../shared/lib/image-config'\nimport { removeBasePath } from './remove-base-path'\nimport { hasBasePath } from './has-base-path'\nimport { AppRouterContext } from '../shared/lib/app-router-context.shared-runtime'\nimport {\n adaptForAppRouterInstance,\n adaptForPathParams,\n adaptForSearchParams,\n PathnameContextProviderAdapter,\n} from '../shared/lib/router/adapters'\nimport {\n SearchParamsContext,\n PathParamsContext,\n} from '../shared/lib/hooks-client-context.shared-runtime'\nimport { onRecoverableError } from './react-client-callbacks/on-recoverable-error'\nimport tracer from './tracing/tracer'\nimport { isNextRouterError } from './components/is-next-router-error'\n\n/// \n\ndeclare global {\n interface Window {\n /* test fns */\n __NEXT_HYDRATED?: boolean\n __NEXT_HYDRATED_CB?: () => void\n\n /* prod */\n __NEXT_DATA__: NEXT_DATA\n __NEXT_P: any[]\n }\n}\ntype RenderRouteInfo = PrivateRouteInfo & {\n App: AppComponent\n scroll?: { x: number; y: number } | null\n isHydratePass?: boolean\n}\ntype RenderErrorProps = Omit\ntype RegisterFn = (input: [string, () => void]) => void\n\nexport const version = process.env.__NEXT_VERSION\nexport let router: Router\nexport const emitter: MittEmitter = mitt()\n\nconst looseToArray = (input: any): T[] => [].slice.call(input)\n\nlet initialData: NEXT_DATA\nlet defaultLocale: string | undefined = undefined\nlet asPath: string\nlet pageLoader: PageLoader\nlet appElement: HTMLElement | null\nlet headManager: {\n mountedInstances: Set\n updateHead: (head: JSX.Element[]) => void\n getIsSsr?: () => boolean\n}\nlet initialMatchesMiddleware = false\nlet lastAppProps: AppProps\n\nlet lastRenderReject: (() => void) | null\nlet devClient: any\n\nlet CachedApp: AppComponent, onPerfEntry: (metric: any) => void\nlet CachedComponent: React.ComponentType\n\nclass Container extends React.Component<{\n children?: React.ReactNode\n fn: (err: Error, info?: any) => void\n}> {\n componentDidCatch(componentErr: Error, info: any) {\n this.props.fn(componentErr, info)\n }\n\n componentDidMount() {\n this.scrollToHash()\n\n // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n // - if middleware matches the current page (may have rewrite params)\n // - if rewrites in next.config.js match (may have rewrite params)\n if (\n router.isSsr &&\n (initialData.isFallback ||\n (initialData.nextExport &&\n (isDynamicRoute(router.pathname) ||\n location.search ||\n process.env.__NEXT_HAS_REWRITES ||\n initialMatchesMiddleware)) ||\n (initialData.props &&\n initialData.props.__N_SSG &&\n (location.search ||\n process.env.__NEXT_HAS_REWRITES ||\n initialMatchesMiddleware)))\n ) {\n // update query on mount for exported pages\n router\n .replace(\n router.pathname +\n '?' +\n String(\n assign(\n urlQueryToSearchParams(router.query),\n new URLSearchParams(location.search)\n )\n ),\n asPath,\n {\n // @ts-ignore\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !initialData.isFallback && !initialMatchesMiddleware,\n }\n )\n .catch((err) => {\n if (!err.cancelled) throw err\n })\n }\n }\n\n componentDidUpdate() {\n this.scrollToHash()\n }\n\n scrollToHash() {\n let { hash } = location\n hash = hash && hash.substring(1)\n if (!hash) return\n\n const el: HTMLElement | null = document.getElementById(hash)\n if (!el) return\n\n // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n setTimeout(() => el.scrollIntoView(), 0)\n }\n\n render() {\n if (process.env.NODE_ENV === 'production') {\n return this.props.children\n } else {\n const {\n PagesDevOverlay,\n }: typeof import('./components/react-dev-overlay/pages/pages-dev-overlay') = require('./components/react-dev-overlay/pages/pages-dev-overlay')\n return {this.props.children}\n }\n }\n}\n\nexport async function initialize(opts: { devClient?: any } = {}): Promise<{\n assetPrefix: string\n}> {\n // This makes sure this specific lines are removed in production\n if (process.env.NODE_ENV === 'development') {\n tracer.onSpanEnd(\n (\n require('./tracing/report-to-socket') as typeof import('./tracing/report-to-socket')\n ).default\n )\n devClient = opts.devClient\n }\n\n initialData = JSON.parse(\n document.getElementById('__NEXT_DATA__')!.textContent!\n )\n window.__NEXT_DATA__ = initialData\n\n defaultLocale = initialData.defaultLocale\n const prefix: string = initialData.assetPrefix || ''\n // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n // So, this is how we do it in the client side at runtime\n ;(self as any).__next_set_public_path__(`${prefix}/_next/`) //eslint-disable-line\n\n // Initialize next/config with the environment configuration\n setConfig({\n serverRuntimeConfig: {},\n publicRuntimeConfig: initialData.runtimeConfig || {},\n })\n\n asPath = getURL()\n\n // make sure not to attempt stripping basePath for 404s\n if (hasBasePath(asPath)) {\n asPath = removeBasePath(asPath)\n }\n\n if (process.env.__NEXT_I18N_SUPPORT) {\n const { normalizeLocalePath } =\n require('../shared/lib/i18n/normalize-locale-path') as typeof import('../shared/lib/i18n/normalize-locale-path')\n\n const { detectDomainLocale } =\n require('../shared/lib/i18n/detect-domain-locale') as typeof import('../shared/lib/i18n/detect-domain-locale')\n\n const { parseRelativeUrl } =\n require('../shared/lib/router/utils/parse-relative-url') as typeof import('../shared/lib/router/utils/parse-relative-url')\n\n const { formatUrl } =\n require('../shared/lib/router/utils/format-url') as typeof import('../shared/lib/router/utils/format-url')\n\n if (initialData.locales) {\n const parsedAs = parseRelativeUrl(asPath)\n const localePathResult = normalizeLocalePath(\n parsedAs.pathname,\n initialData.locales\n )\n\n if (localePathResult.detectedLocale) {\n parsedAs.pathname = localePathResult.pathname\n asPath = formatUrl(parsedAs)\n } else {\n // derive the default locale if it wasn't detected in the asPath\n // since we don't prerender static pages with all possible default\n // locales\n defaultLocale = initialData.locale\n }\n\n // attempt detecting default locale based on hostname\n const detectedDomain = detectDomainLocale(\n process.env.__NEXT_I18N_DOMAINS as any,\n window.location.hostname\n )\n\n // TODO: investigate if defaultLocale needs to be populated after\n // hydration to prevent mismatched renders\n if (detectedDomain) {\n defaultLocale = detectedDomain.defaultLocale\n }\n }\n }\n\n if (initialData.scriptLoader) {\n const { initScriptLoader } = require('./script')\n initScriptLoader(initialData.scriptLoader)\n }\n\n pageLoader = new PageLoader(initialData.buildId, prefix)\n\n const register: RegisterFn = ([r, f]) =>\n pageLoader.routeLoader.onEntrypoint(r, f)\n if (window.__NEXT_P) {\n // Defer page registration for another tick. This will increase the overall\n // latency in hydrating the page, but reduce the total blocking time.\n window.__NEXT_P.map((p) => setTimeout(() => register(p), 0))\n }\n window.__NEXT_P = []\n ;(window.__NEXT_P as any).push = register\n\n headManager = initHeadManager()\n headManager.getIsSsr = () => {\n return router.isSsr\n }\n\n appElement = document.getElementById('__next')\n return { assetPrefix: prefix }\n}\n\nfunction renderApp(App: AppComponent, appProps: AppProps) {\n return \n}\n\nfunction AppContainer({\n children,\n}: React.PropsWithChildren<{}>): React.ReactElement {\n // Create a memoized value for next/navigation router context.\n const adaptedForAppRouter = React.useMemo(() => {\n return adaptForAppRouterInstance(router)\n }, [])\n return (\n \n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n renderError({ App: CachedApp, err: error }).catch((err) =>\n console.error('Error rendering page: ', err)\n )\n }\n >\n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n \n \n \n )\n}\n\nconst wrapApp =\n (App: AppComponent) =>\n (wrappedAppProps: Record): JSX.Element => {\n const appProps: AppProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: initialData.err,\n router,\n }\n return {renderApp(App, appProps)}\n }\n\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nfunction renderError(renderErrorProps: RenderErrorProps): Promise {\n let { App, err } = renderErrorProps\n\n // In development runtime errors are caught by our overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n if (process.env.NODE_ENV !== 'production') {\n // A Next.js rendering runtime error is always unrecoverable\n // FIXME: let's make this recoverable (error in GIP client-transition)\n devClient.onUnrecoverableError()\n\n // We need to render an empty so that the `` can\n // render itself.\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return doRender({\n App: () => null,\n props: {},\n Component: () => null,\n styleSheets: [],\n })\n }\n\n // Make sure we log the error to the console, otherwise users can't track down issues.\n console.error(err)\n console.error(\n `A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred`\n )\n\n return pageLoader\n .loadPage('/_error')\n .then(({ page: ErrorComponent, styleSheets }) => {\n return lastAppProps?.Component === ErrorComponent\n ? import('../pages/_error')\n .then((errorModule) => {\n return import('../pages/_app').then((appModule) => {\n App = appModule.default as any as AppComponent\n renderErrorProps.App = App\n return errorModule\n })\n })\n .then((m) => ({\n ErrorComponent: m.default as React.ComponentType<{}>,\n styleSheets: [],\n }))\n : { ErrorComponent, styleSheets }\n })\n .then(({ ErrorComponent, styleSheets }) => {\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n const AppTree = wrapApp(App)\n const appCtx = {\n Component: ErrorComponent,\n AppTree,\n router,\n ctx: {\n err,\n pathname: initialData.page,\n query: initialData.query,\n asPath,\n AppTree,\n },\n }\n return Promise.resolve(\n renderErrorProps.props?.err\n ? renderErrorProps.props\n : loadGetInitialProps(App, appCtx)\n ).then((initProps) =>\n // TODO: Fix disabled eslint rule\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n doRender({\n ...renderErrorProps,\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps,\n })\n )\n })\n}\n\n// Dummy component that we render as a child of Root so that we can\n// toggle the correct styles before the page is rendered.\nfunction Head({ callback }: { callback: () => void }): null {\n // We use `useLayoutEffect` to guarantee the callback is executed\n // as soon as React flushes the update.\n React.useLayoutEffect(() => callback(), [callback])\n return null\n}\n\nconst performanceMarks = {\n navigationStart: 'navigationStart',\n beforeRender: 'beforeRender',\n afterRender: 'afterRender',\n afterHydrate: 'afterHydrate',\n routeChange: 'routeChange',\n} as const\n\nconst performanceMeasures = {\n hydration: 'Next.js-hydration',\n beforeHydration: 'Next.js-before-hydration',\n routeChangeToRender: 'Next.js-route-change-to-render',\n render: 'Next.js-render',\n} as const\n\nlet reactRoot: any = null\n// On initial render a hydrate should always happen\nlet shouldHydrate: boolean = true\n\nfunction clearMarks(): void {\n ;[\n performanceMarks.beforeRender,\n performanceMarks.afterHydrate,\n performanceMarks.afterRender,\n performanceMarks.routeChange,\n ].forEach((mark) => performance.clearMarks(mark))\n}\n\nfunction markHydrateComplete(): void {\n if (!ST) return\n\n performance.mark(performanceMarks.afterHydrate) // mark end of hydration\n\n const hasBeforeRenderMark = performance.getEntriesByName(\n performanceMarks.beforeRender,\n 'mark'\n ).length\n if (hasBeforeRenderMark) {\n const beforeHydrationMeasure = performance.measure(\n performanceMeasures.beforeHydration,\n performanceMarks.navigationStart,\n performanceMarks.beforeRender\n )\n\n const hydrationMeasure = performance.measure(\n performanceMeasures.hydration,\n performanceMarks.beforeRender,\n performanceMarks.afterHydrate\n )\n\n if (\n process.env.NODE_ENV === 'development' &&\n // Old versions of Safari don't return `PerformanceMeasure`s from `performance.measure()`\n beforeHydrationMeasure &&\n hydrationMeasure\n ) {\n tracer\n .startSpan('navigation-to-hydration', {\n startTime: performance.timeOrigin + beforeHydrationMeasure.startTime,\n attributes: {\n pathname: location.pathname,\n query: location.search,\n },\n })\n .end(\n performance.timeOrigin +\n hydrationMeasure.startTime +\n hydrationMeasure.duration\n )\n }\n }\n\n if (onPerfEntry) {\n performance\n .getEntriesByName(performanceMeasures.hydration)\n .forEach(onPerfEntry)\n }\n clearMarks()\n}\n\nfunction markRenderComplete(): void {\n if (!ST) return\n\n performance.mark(performanceMarks.afterRender) // mark end of render\n const navStartEntries: PerformanceEntryList = performance.getEntriesByName(\n performanceMarks.routeChange,\n 'mark'\n )\n\n if (!navStartEntries.length) return\n\n const hasBeforeRenderMark = performance.getEntriesByName(\n performanceMarks.beforeRender,\n 'mark'\n ).length\n\n if (hasBeforeRenderMark) {\n performance.measure(\n performanceMeasures.routeChangeToRender,\n navStartEntries[0].name,\n performanceMarks.beforeRender\n )\n performance.measure(\n performanceMeasures.render,\n performanceMarks.beforeRender,\n performanceMarks.afterRender\n )\n if (onPerfEntry) {\n performance\n .getEntriesByName(performanceMeasures.render)\n .forEach(onPerfEntry)\n performance\n .getEntriesByName(performanceMeasures.routeChangeToRender)\n .forEach(onPerfEntry)\n }\n }\n\n clearMarks()\n ;[\n performanceMeasures.routeChangeToRender,\n performanceMeasures.render,\n ].forEach((measure) => performance.clearMeasures(measure))\n}\n\nfunction renderReactElement(\n domEl: HTMLElement,\n fn: (cb: () => void) => JSX.Element\n): void {\n // mark start of hydrate/render\n if (ST) {\n performance.mark(performanceMarks.beforeRender)\n }\n\n const reactEl = fn(shouldHydrate ? markHydrateComplete : markRenderComplete)\n if (!reactRoot) {\n // Unlike with createRoot, you don't need a separate root.render() call here\n reactRoot = ReactDOM.hydrateRoot(domEl, reactEl, {\n onRecoverableError,\n })\n // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing\n shouldHydrate = false\n } else {\n const startTransition = (React as any).startTransition\n startTransition(() => {\n reactRoot.render(reactEl)\n })\n }\n}\n\nfunction Root({\n callbacks,\n children,\n}: React.PropsWithChildren<{\n callbacks: Array<() => void>\n}>): React.ReactElement {\n // We use `useLayoutEffect` to guarantee the callbacks are executed\n // as soon as React flushes the update\n React.useLayoutEffect(\n () => callbacks.forEach((callback) => callback()),\n [callbacks]\n )\n\n if (process.env.__NEXT_TEST_MODE) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n window.__NEXT_HYDRATED = true\n\n if (window.__NEXT_HYDRATED_CB) {\n window.__NEXT_HYDRATED_CB()\n }\n }, [])\n }\n\n return children as React.ReactElement\n}\n\nfunction doRender(input: RenderRouteInfo): Promise {\n let { App, Component, props, err }: RenderRouteInfo = input\n let styleSheets: StyleSheetTuple[] | undefined =\n 'initial' in input ? undefined : input.styleSheets\n Component = Component || lastAppProps.Component\n props = props || lastAppProps.props\n\n const appProps: AppProps = {\n ...props,\n Component,\n err,\n router,\n }\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps\n\n let canceled: boolean = false\n let resolvePromise: () => void\n const renderPromise = new Promise((resolve, reject) => {\n if (lastRenderReject) {\n lastRenderReject()\n }\n resolvePromise = () => {\n lastRenderReject = null\n resolve()\n }\n lastRenderReject = () => {\n canceled = true\n lastRenderReject = null\n\n const error: any = new Error('Cancel rendering route')\n error.cancelled = true\n reject(error)\n }\n })\n\n // This function has a return type to ensure it doesn't start returning a\n // Promise. It should remain synchronous.\n function onStart(): boolean {\n if (\n !styleSheets ||\n // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n process.env.NODE_ENV !== 'production'\n ) {\n return false\n }\n\n const currentStyleTags: HTMLStyleElement[] = looseToArray(\n document.querySelectorAll('style[data-n-href]')\n )\n const currentHrefs: Set = new Set(\n currentStyleTags.map((tag) => tag.getAttribute('data-n-href'))\n )\n\n const noscript: Element | null = document.querySelector(\n 'noscript[data-n-css]'\n )\n const nonce: string | null | undefined =\n noscript?.getAttribute('data-n-css')\n\n styleSheets.forEach(({ href, text }: { href: string; text: any }) => {\n if (!currentHrefs.has(href)) {\n const styleTag = document.createElement('style')\n styleTag.setAttribute('data-n-href', href)\n styleTag.setAttribute('media', 'x')\n\n if (nonce) {\n styleTag.setAttribute('nonce', nonce)\n }\n\n document.head.appendChild(styleTag)\n styleTag.appendChild(document.createTextNode(text))\n }\n })\n return true\n }\n\n function onHeadCommit(): void {\n if (\n // Turbopack has it's own css injection handling, this code ends up removing the CSS.\n !process.env.TURBOPACK &&\n // We use `style-loader` in development, so we don't need to do anything\n // unless we're in production:\n process.env.NODE_ENV === 'production' &&\n // We can skip this during hydration. Running it wont cause any harm, but\n // we may as well save the CPU cycles:\n styleSheets &&\n // Ensure this render was not canceled\n !canceled\n ) {\n const desiredHrefs: Set = new Set(styleSheets.map((s) => s.href))\n const currentStyleTags: HTMLStyleElement[] =\n looseToArray(\n document.querySelectorAll('style[data-n-href]')\n )\n const currentHrefs: string[] = currentStyleTags.map(\n (tag) => tag.getAttribute('data-n-href')!\n )\n\n // Toggle `