{"version":3,"sources":["webpack://_N_E/./node_modules/@next/polyfill-module/dist/polyfill-module.js","webpack://_N_E/../../client/next.js","webpack://_N_E/../../client/head-manager.ts","webpack://_N_E/../../../next-server/lib/head-manager-context.ts","webpack://_N_E/../../client/index.tsx","webpack://_N_E/../../client/performance-relayer.ts","webpack://_N_E/(webpack)/web-vitals/web-vitals.es5.umd.min.js","webpack://_N_E/../../../next-server/lib/runtime-config.ts","webpack://_N_E/../../client/page-loader.ts"],"names":["String","prototype","trimStart","trimLeft","trimEnd","trimRight","Symbol","Object","defineProperty","configurable","get","t","exec","this","toString","Array","flat","r","concat","apply","some","isArray","flatMap","map","Promise","finally","then","constructor","o","resolve","window","console","updatePromise","mountedInstances","updateHead","head","promise","tags","h","components","titleComponent","title","children","document","type","headEl","headCountEl","headCount","Number","oldTags","i","j","newTags","newTag","k","len","oldTag","updateElements","DOMAttributeNames","acceptCharset","className","htmlFor","httpEquiv","noModule","reactElementToDOM","el","props","p","attr","dangerouslySetInnerHTML","HeadManagerContext","React","data","JSON","process","__NEXT_VERSION","looseToArray","err","isFallback","prefix","__webpack_public_path__","envConfig","serverRuntimeConfig","publicRuntimeConfig","runtimeConfig","asPath","hasBasePath","delBasePath","pageLoader","PageLoader","register","setTimeout","headManager","appElement","router","isDynamicRoute","location","hydrateProps","querystring","URLSearchParams","_h","shallow","hash","Component","emitter","appEntrypoint","component","exports","CachedApp","mod","onPerfEntry","uniqueID","Date","Math","entries","perfStartEntry","id","name","startTime","value","label","entryType","initialErr","pageEntrypoint","CachedComponent","createRouter","initialProps","App","wrapApp","Boolean","subscription","render","scroll","locale","locales","defaultLocale","domainLocales","renderCtx","initial","renderingProps","renderError","doRender","renderErr","renderErrorProps","page","AppTree","appCtx","ctx","pathname","query","loadGetInitialProps","initProps","styleSheets","shouldUseHydrate","ReactDOM","markHydrateComplete","ST","performance","clearMarks","markRenderComplete","navStartEntries","measure","mark","AppContainer","fn","error","makePublicRouterInstance","wrappedAppProps","appProps","input","undefined","lastAppProps","canceled","renderPromise","lastRenderReject","resolvePromise","Error","reject","reactEl","elem","callback","desiredHrefs","Set","s","currentStyleTags","currentHrefs","tag","idx","referenceNode","targetTag","getComputedStyle","noscript","nonce","styleTag","onStart","renderReactElement","Root","Head","isRegistered","onReport","metric","userReportHandler","getCLS","getFID","getFCP","getLCP","getTTFB","module","599","e","n","now","floor","random","a","arguments","length","delta","isFinal","PerformanceObserver","supportedEntryTypes","includes","getEntries","observe","buffered","u","persisted","c","addEventListener","timeStamp","visibilityState","isUnloading","capture","once","l","disconnect","f","d","passive","hadRecentInput","push","takeRecords","processingStart","perfMetrics","onFirstInputDelay","target","cancelable","getEntriesByType","timing","max","navigationStart","responseStart","readyState","__nccwpck_require__","call","ab","__dirname","configValue","normalizeRoute","route","buildId","assetPrefix","promisedSsgManifest","promisedDevPagesManifest","routeLoader","getClientBuildManifest","manifest","parseRelativeUrl","getHrefForSlug","path","dataRoute","addLocale","addBasePath","ssg","isDynamic","interpolatedRoute","interpolateAs","loadRoute","res","href","text","prefetch"],"mappings":"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","file":"static/chunks/main-b54a0e6f6edab2626618.js","sourcesContent":["\"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(o){return r.resolve(t()).then(function(){return o})},function(o){return r.resolve(t()).then(function(){throw o})})});\n","import initNext, * as next from './'\n\nwindow.next = next\n\ninitNext().catch(console.error)\n","export const DOMAttributeNames: Record = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule',\n}\n\nfunction reactElementToDOM({ type, props }: JSX.Element): HTMLElement {\n const el: HTMLElement = document.createElement(type)\n for (const p in props) {\n if (!props.hasOwnProperty(p)) continue\n if (p === 'children' || p === 'dangerouslySetInnerHTML') continue\n\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue\n\n const attr = DOMAttributeNames[p] || p.toLowerCase()\n if (\n type === 'script' &&\n (attr === 'async' || attr === 'defer' || attr === 'noModule')\n ) {\n ;(el as HTMLScriptElement)[attr] = !!props[p]\n } else {\n el.setAttribute(attr, props[p])\n }\n }\n\n const { children, dangerouslySetInnerHTML } = props\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || ''\n } else if (children) {\n el.textContent =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n return el\n}\n\nfunction updateElements(type: string, components: JSX.Element[]): void {\n const headEl = document.getElementsByTagName('head')[0]\n const headCountEl: HTMLMetaElement = headEl.querySelector(\n 'meta[name=next-head-count]'\n ) as HTMLMetaElement\n if (process.env.NODE_ENV !== 'production') {\n if (!headCountEl) {\n console.error(\n 'Warning: next-head-count is missing. https://err.sh/next.js/next-head-count-missing'\n )\n return\n }\n }\n\n const headCount = Number(headCountEl.content)\n const oldTags: Element[] = []\n\n for (\n let i = 0, j = headCountEl.previousElementSibling;\n i < headCount;\n i++, j = j!.previousElementSibling\n ) {\n if (j!.tagName.toLowerCase() === type) {\n oldTags.push(j!)\n }\n }\n const newTags = (components.map(reactElementToDOM) as HTMLElement[]).filter(\n (newTag) => {\n for (let k = 0, len = oldTags.length; k < len; k++) {\n const oldTag = oldTags[k]\n if (oldTag.isEqualNode(newTag)) {\n oldTags.splice(k, 1)\n return false\n }\n }\n return true\n }\n )\n\n oldTags.forEach((t) => t.parentNode!.removeChild(t))\n newTags.forEach((t) => headEl.insertBefore(t, headCountEl))\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString()\n}\n\nexport default function initHeadManager(): {\n mountedInstances: Set\n updateHead: (head: JSX.Element[]) => void\n} {\n let updatePromise: Promise | null = null\n\n return {\n mountedInstances: new Set(),\n updateHead: (head: JSX.Element[]) => {\n const promise = (updatePromise = Promise.resolve().then(() => {\n if (promise !== updatePromise) return\n\n updatePromise = null\n const tags: Record = {}\n\n head.forEach((h) => {\n const components = tags[h.type] || []\n components.push(h)\n tags[h.type] = components\n })\n\n const titleComponent = tags.title ? tags.title[0] : null\n let title = ''\n if (titleComponent) {\n const { children } = titleComponent.props\n title =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n if (title !== document.title) document.title = title\n ;['meta', 'base', 'link', 'style', 'script'].forEach((type) => {\n updateElements(type, tags[type] || [])\n })\n }))\n },\n }\n}\n","import React from 'react'\n\nexport const HeadManagerContext: React.Context<{\n updateHead?: (state: any) => void\n mountedInstances?: any\n updateScripts?: (state: any) => void\n scripts?: any\n}> = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n HeadManagerContext.displayName = 'HeadManagerContext'\n}\n","/* global location */\nimport '@next/polyfill-module'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { HeadManagerContext } from '../next-server/lib/head-manager-context'\nimport mitt, { MittEmitter } from '../next-server/lib/mitt'\nimport { RouterContext } from '../next-server/lib/router-context'\nimport Router, {\n AppComponent,\n AppProps,\n delBasePath,\n hasBasePath,\n PrivateRouteInfo,\n} from '../next-server/lib/router/router'\nimport { isDynamicRoute } from '../next-server/lib/router/utils/is-dynamic'\nimport * as querystring from '../next-server/lib/router/utils/querystring'\nimport * as envConfig from '../next-server/lib/runtime-config'\nimport {\n getURL,\n loadGetInitialProps,\n NEXT_DATA,\n ST,\n} from '../next-server/lib/utils'\nimport initHeadManager from './head-manager'\nimport PageLoader, { StyleSheetTuple } from './page-loader'\nimport measureWebVitals from './performance-relayer'\nimport { createRouter, makePublicRouterInstance } from './router'\n\n/// \n\ndeclare let __webpack_public_path__: string\n\ndeclare global {\n interface Window {\n /* test fns */\n __NEXT_HYDRATED?: boolean\n __NEXT_HYDRATED_CB?: () => void\n\n /* prod */\n __NEXT_PRELOADREADY?: (ids?: string[]) => void\n __NEXT_DATA__: NEXT_DATA\n __NEXT_P: any[]\n }\n}\n\ntype RenderRouteInfo = PrivateRouteInfo & {\n App: AppComponent\n scroll?: { x: number; y: number } | null\n}\ntype RenderErrorProps = Omit\n\nconst data: typeof window['__NEXT_DATA__'] = JSON.parse(\n document.getElementById('__NEXT_DATA__')!.textContent!\n)\nwindow.__NEXT_DATA__ = data\n\nexport const version = process.env.__NEXT_VERSION\n\nconst looseToArray = (input: any): T[] => [].slice.call(input)\n\nconst {\n props: hydrateProps,\n err: hydrateErr,\n page,\n query,\n buildId,\n assetPrefix,\n runtimeConfig,\n dynamicIds,\n isFallback,\n locale,\n locales,\n domainLocales,\n} = data\n\nlet { defaultLocale } = data\n\nconst prefix: string = assetPrefix || ''\n\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__webpack_public_path__ = `${prefix}/_next/` //eslint-disable-line\n// Initialize next/config with the environment configuration\nenvConfig.setConfig({\n serverRuntimeConfig: {},\n publicRuntimeConfig: runtimeConfig || {},\n})\n\nlet asPath: string = getURL()\n\n// make sure not to attempt stripping basePath for 404s\nif (hasBasePath(asPath)) {\n asPath = delBasePath(asPath)\n}\n\nif (process.env.__NEXT_I18N_SUPPORT) {\n const {\n normalizeLocalePath,\n } = require('../next-server/lib/i18n/normalize-locale-path') as typeof import('../next-server/lib/i18n/normalize-locale-path')\n\n const {\n detectDomainLocale,\n } = require('../next-server/lib/i18n/detect-domain-locale') as typeof import('../next-server/lib/i18n/detect-domain-locale')\n\n const {\n parseRelativeUrl,\n } = require('../next-server/lib/router/utils/parse-relative-url') as typeof import('../next-server/lib/router/utils/parse-relative-url')\n\n const {\n formatUrl,\n } = require('../next-server/lib/router/utils/format-url') as typeof import('../next-server/lib/router/utils/format-url')\n\n if (locales) {\n const parsedAs = parseRelativeUrl(asPath)\n const localePathResult = normalizeLocalePath(parsedAs.pathname, locales)\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 = 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\ntype RegisterFn = (input: [string, () => void]) => void\n\nconst pageLoader: PageLoader = new PageLoader(buildId, prefix)\nconst register: RegisterFn = ([r, f]) =>\n pageLoader.routeLoader.onEntrypoint(r, f)\nif (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}\nwindow.__NEXT_P = []\n;(window.__NEXT_P as any).push = register\n\nconst headManager: {\n mountedInstances: Set\n updateHead: (head: JSX.Element[]) => void\n} = initHeadManager()\nconst appElement: HTMLElement | null = document.getElementById('__next')\n\nlet lastRenderReject: (() => void) | null\nlet webpackHMR: any\nexport let router: Router\nlet CachedApp: AppComponent, onPerfEntry: (metric: any) => void\n\nclass Container extends React.Component<{\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 (\n router.isSsr &&\n (isFallback ||\n (data.nextExport &&\n (isDynamicRoute(router.pathname) || location.search)) ||\n (hydrateProps && hydrateProps.__N_SSG && location.search))\n ) {\n // update query on mount for exported pages\n router.replace(\n router.pathname +\n '?' +\n String(\n querystring.assign(\n querystring.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: !isFallback,\n }\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 { ReactDevOverlay } = require('@next/react-dev-overlay/lib/client')\n return {this.props.children}\n }\n }\n}\n\nexport const emitter: MittEmitter = mitt()\nlet CachedComponent: React.ComponentType\n\nexport default async (opts: { webpackHMR?: any } = {}) => {\n // This makes sure this specific lines are removed in production\n if (process.env.NODE_ENV === 'development') {\n webpackHMR = opts.webpackHMR\n }\n\n const appEntrypoint = await pageLoader.routeLoader.whenEntrypoint('/_app')\n if ('error' in appEntrypoint) {\n throw appEntrypoint.error\n }\n\n const { component: app, exports: mod } = appEntrypoint\n CachedApp = app as AppComponent\n\n if (mod && mod.reportWebVitals) {\n onPerfEntry = ({\n id,\n name,\n startTime,\n value,\n duration,\n entryType,\n entries,\n }): void => {\n // Combines timestamp with random number for unique ID\n const uniqueID: string = `${Date.now()}-${\n Math.floor(Math.random() * (9e12 - 1)) + 1e12\n }`\n let perfStartEntry: string | undefined\n\n if (entries && entries.length) {\n perfStartEntry = entries[0].startTime\n }\n\n mod.reportWebVitals({\n id: id || uniqueID,\n name,\n startTime: startTime || perfStartEntry,\n value: value == null ? duration : value,\n label:\n entryType === 'mark' || entryType === 'measure'\n ? 'custom'\n : 'web-vital',\n })\n }\n }\n\n let initialErr = hydrateErr\n\n try {\n const pageEntrypoint =\n // The dev server fails to serve script assets when there's a hydration\n // error, so we need to skip waiting for the entrypoint.\n process.env.NODE_ENV === 'development' && hydrateErr\n ? { error: hydrateErr }\n : await pageLoader.routeLoader.whenEntrypoint(page)\n if ('error' in pageEntrypoint) {\n throw pageEntrypoint.error\n }\n CachedComponent = pageEntrypoint.component\n\n if (process.env.NODE_ENV !== 'production') {\n const { isValidElementType } = require('react-is')\n if (!isValidElementType(CachedComponent)) {\n throw new Error(\n `The default export is not a React Component in page: \"${page}\"`\n )\n }\n }\n } catch (error) {\n // This catches errors like throwing in the top level of a module\n initialErr = error\n }\n\n if (process.env.NODE_ENV === 'development') {\n const { getNodeError } = require('@next/react-dev-overlay/lib/client')\n // Server-side runtime errors need to be re-thrown on the client-side so\n // that the overlay is rendered.\n if (initialErr) {\n if (initialErr === hydrateErr) {\n setTimeout(() => {\n let error\n try {\n // Generate a new error object. We `throw` it because some browsers\n // will set the `stack` when thrown, and we want to ensure ours is\n // not overridden when we re-throw it below.\n throw new Error(initialErr!.message)\n } catch (e) {\n error = e\n }\n\n error.name = initialErr!.name\n error.stack = initialErr!.stack\n\n const node = getNodeError(error)\n throw node\n })\n }\n // We replaced the server-side error with a client-side error, and should\n // no longer rewrite the stack trace to a Node error.\n else {\n setTimeout(() => {\n throw initialErr\n })\n }\n }\n }\n\n if (window.__NEXT_PRELOADREADY) {\n await window.__NEXT_PRELOADREADY(dynamicIds)\n }\n\n router = createRouter(page, query, asPath, {\n initialProps: hydrateProps,\n pageLoader,\n App: CachedApp,\n Component: CachedComponent,\n wrapApp,\n err: initialErr,\n isFallback: Boolean(isFallback),\n subscription: (info, App, scroll) =>\n render(\n Object.assign<\n {},\n Omit,\n Pick\n >({}, info, {\n App,\n scroll,\n }) as RenderRouteInfo\n ),\n locale,\n locales,\n defaultLocale,\n domainLocales,\n })\n\n // call init-client middleware\n if (process.env.__NEXT_PLUGINS) {\n // @ts-ignore\n // eslint-disable-next-line\n import('next-plugin-loader?middleware=on-init-client!')\n .then((initClientModule) => {\n return initClientModule.default({ router })\n })\n .catch((initClientErr) => {\n console.error('Error calling client-init for plugins', initClientErr)\n })\n }\n\n const renderCtx: RenderRouteInfo = {\n App: CachedApp,\n initial: true,\n Component: CachedComponent,\n props: hydrateProps,\n err: initialErr,\n }\n\n if (process.env.NODE_ENV === 'production') {\n render(renderCtx)\n return emitter\n } else {\n return { emitter, render, renderCtx }\n }\n}\n\nexport async function render(renderingProps: RenderRouteInfo): Promise {\n if (renderingProps.err) {\n await renderError(renderingProps)\n return\n }\n\n try {\n await doRender(renderingProps)\n } catch (renderErr) {\n // bubble up cancelation errors\n if (renderErr.cancelled) {\n throw renderErr\n }\n\n if (process.env.NODE_ENV === 'development') {\n // Ensure this error is displayed in the overlay in development\n setTimeout(() => {\n throw renderErr\n })\n }\n await renderError({ ...renderingProps, err: renderErr })\n }\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.\nexport function renderError(renderErrorProps: RenderErrorProps): Promise {\n const { 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 webpackHMR.onUnrecoverableError()\n\n // We need to render an empty so that the `` can\n // render itself.\n return doRender({\n App: () => null,\n props: {},\n Component: () => null,\n styleSheets: [],\n })\n }\n if (process.env.__NEXT_PLUGINS) {\n // @ts-ignore\n // eslint-disable-next-line\n import('next-plugin-loader?middleware=on-error-client!')\n .then((onClientErrorModule) => {\n return onClientErrorModule.default({ err })\n })\n .catch((onClientErrorErr) => {\n console.error(\n 'error calling on-error-client for plugins',\n onClientErrorErr\n )\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 return pageLoader\n .loadPage('/_error')\n .then(({ page: 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: { err, pathname: page, query, asPath, AppTree },\n }\n return Promise.resolve(\n renderErrorProps.props\n ? renderErrorProps.props\n : loadGetInitialProps(App, appCtx)\n ).then((initProps) =>\n doRender({\n ...renderErrorProps,\n err,\n Component: ErrorComponent,\n styleSheets,\n props: initProps,\n })\n )\n })\n}\n\nlet reactRoot: any = null\nlet shouldUseHydrate: boolean = typeof ReactDOM.hydrate === 'function'\nfunction renderReactElement(reactEl: JSX.Element, domEl: HTMLElement): void {\n if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n if (!reactRoot) {\n const opts = { hydrate: true }\n reactRoot =\n process.env.__NEXT_REACT_MODE === 'concurrent'\n ? (ReactDOM as any).unstable_createRoot(domEl, opts)\n : (ReactDOM as any).unstable_createBlockingRoot(domEl, opts)\n }\n reactRoot.render(reactEl)\n } else {\n // mark start of hydrate/render\n if (ST) {\n performance.mark('beforeRender')\n }\n\n // The check for `.hydrate` is there to support React alternatives like preact\n if (shouldUseHydrate) {\n ReactDOM.hydrate(reactEl, domEl, markHydrateComplete)\n shouldUseHydrate = false\n } else {\n ReactDOM.render(reactEl, domEl, markRenderComplete)\n }\n }\n}\n\nfunction markHydrateComplete(): void {\n if (!ST) return\n\n performance.mark('afterHydrate') // mark end of hydration\n\n performance.measure(\n 'Next.js-before-hydration',\n 'navigationStart',\n 'beforeRender'\n )\n performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate')\n\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry)\n }\n clearMarks()\n}\n\nfunction markRenderComplete(): void {\n if (!ST) return\n\n performance.mark('afterRender') // mark end of render\n const navStartEntries: PerformanceEntryList = performance.getEntriesByName(\n 'routeChange',\n 'mark'\n )\n\n if (!navStartEntries.length) return\n\n performance.measure(\n 'Next.js-route-change-to-render',\n navStartEntries[0].name,\n 'beforeRender'\n )\n performance.measure('Next.js-render', 'beforeRender', 'afterRender')\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-render').forEach(onPerfEntry)\n performance\n .getEntriesByName('Next.js-route-change-to-render')\n .forEach(onPerfEntry)\n }\n clearMarks()\n ;['Next.js-route-change-to-render', 'Next.js-render'].forEach((measure) =>\n performance.clearMeasures(measure)\n )\n}\n\nfunction clearMarks(): void {\n ;[\n 'beforeRender',\n 'afterHydrate',\n 'afterRender',\n 'routeChange',\n ].forEach((mark) => performance.clearMarks(mark))\n}\n\nfunction AppContainer({\n children,\n}: React.PropsWithChildren<{}>): React.ReactElement {\n return (\n \n renderError({ App: CachedApp, err: error }).catch((err) =>\n console.error('Error rendering page: ', err)\n )\n }\n >\n \n \n {children}\n \n \n \n )\n}\n\nconst wrapApp = (App: AppComponent) => (\n wrappedAppProps: Record\n): JSX.Element => {\n const appProps: AppProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: hydrateErr,\n router,\n }\n return (\n \n \n \n )\n}\n\nlet lastAppProps: AppProps\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 = noscript?.getAttribute(\n 'data-n-css'\n )\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 // 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[] = looseToArray<\n HTMLStyleElement\n >(document.querySelectorAll('style[data-n-href]'))\n const currentHrefs: string[] = currentStyleTags.map(\n (tag) => tag.getAttribute('data-n-href')!\n )\n\n // Toggle `