{"version":3,"sources":["webpack://_N_E/./node_modules/next/node_modules/@babel/runtime/helpers/extends.js","webpack://_N_E/../../client/next.js","webpack://_N_E/../../client/head-manager.js","webpack://_N_E/./node_modules/next-offline/register-sw-compiled.js","webpack://_N_E/../../client/index.js","webpack://_N_E/../../../../../next-server/lib/router/utils/get-asset-path-from-route.ts","webpack://_N_E/./node_modules/next/dist/build/polyfills/finally-polyfill.min.js","webpack://_N_E/../../client/performance-relayer.js","webpack://_N_E/../../../../../next-server/lib/router/utils/escape-path-delimiters.ts","webpack://_N_E/./node_modules/web-vitals/dist/web-vitals.es5.min.js","webpack://_N_E/../../../next-server/lib/runtime-config.ts","webpack://_N_E/../../client/page-loader.js"],"names":["_extends","module","exports","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","window","console","updatePromise","mountedInstances","updateHead","head","promise","Promise","tags","h","components","titleComponent","title","children","document","type","headEl","headCountEl","headCount","Number","oldTags","j","newTags","newTag","k","len","oldTag","t","updateElements","DOMAttributeNames","acceptCharset","className","htmlFor","httpEquiv","reactElementToDOM","el","props","p","attr","dangerouslySetInnerHTML","navigator","addEventListener","serviceWorker","register","scope","then","registration","log","catch","registrationError","require","data","JSON","process","__NEXT_VERSION","dynamicIds","err","isFallback","prefix","__webpack_public_path__","envConfig","serverRuntimeConfig","publicRuntimeConfig","runtimeConfig","asPath","hasBasePath","delBasePath","pageLoader","PageLoader","setTimeout","headManager","appElement","router","isDynamicRoute","location","hydrateProps","String","querystring","URLSearchParams","_h","shallow","hash","React","Component","emitter","webpackHMR","page","CachedApp","mod","onPerfEntry","uniqueID","Date","Math","entries","perfStartEntry","id","name","startTime","value","label","entryType","initialErr","createRouter","initialProps","App","wrapApp","subscription","render","renderingProps","renderError","doRender","renderErrorProps","AppTree","appCtx","ctx","pathname","query","loadGetInitialProps","initProps","isInitialRender","ReactDOM","markHydrateComplete","ST","performance","clearMarks","markRenderComplete","navStartEntries","measure","mark","AppContainer","fn","error","makePublicRouterInstance","wrappedAppProps","appProps","lastAppProps","renderPromise","lastRenderReject","resolvePromise","resolve","reject","reactEl","callback","domEl","renderReactElement","Root","ext","route","test","finally","n","constructor","r","getCLS","getFID","getFCP","getLCP","getTTFB","segment","char","encodeURIComponent","v","e","concat","now","floor","random","delta","isFinal","a","PerformanceObserver","supportedEntryTypes","includes","getEntries","map","observe","buffered","o","s","persisted","u","c","timeStamp","visibilityState","isUnloading","capture","once","l","disconnect","hadRecentInput","push","takeRecords","d","m","processingStart","perfMetrics","onFirstInputDelay","cancelable","f","passive","g","getEntriesByType","timing","max","navigationStart","responseStart","readyState","configValue","hasRel","rel","link","pageLoadError","markLoadingError","Error","relPrefetch","requestIdleCallback","cb","normalizeRoute","appendLink","href","as","initialPage","promisedBuildManifest","url","assetPrefix","encodeURI","parseRelativeUrl","searchParamsToUrlQuery","getHrefForSlug","path","dataRoute","addBasePath","buildId","ssg","isDynamic","dynamicRegex","getRouteRegex","dynamicGroups","dynamicMatches","getRouteMatcher","interpolatedRoute","param","replaced","repeat","Array","optional","escapePathDelimiters","promisedSsgManifest","_dataHref","cachedPage","fire","deps","script","regFn","pageData","cn","getDependencies","urls","dependencyUrl"],"mappings":"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","file":"static/chunks/main-405d00405291b414c2fc.js","sourcesContent":["function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","import initNext, * as next from './'\n\nwindow.next = next\n\ninitNext().catch(console.error)\n","const DOMAttributeNames = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n}\n\nfunction reactElementToDOM({ type, props }) {\n const el = 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 el.setAttribute(attr, props[p])\n }\n\n const { children, dangerouslySetInnerHTML } = props\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || ''\n } else if (children) {\n el.textContent = typeof children === 'string' ? children : children.join('')\n }\n return el\n}\n\nfunction updateElements(type, components) {\n const headEl = document.getElementsByTagName('head')[0]\n const headCountEl = headEl.querySelector('meta[name=next-head-count]')\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 = []\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).filter((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 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 let updatePromise = null\n\n return {\n mountedInstances: new Set(),\n updateHead: (head) => {\n const promise = (updatePromise = Promise.resolve().then(() => {\n if (promise !== updatePromise) return\n\n updatePromise = null\n const tags = {}\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 = typeof children === 'string' ? children : children.join('')\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","if ('serviceWorker' in navigator) {\n window.addEventListener('load', function() {\n navigator.serviceWorker\n .register('/service-worker.js', {scope: '/'})\n .then(function(registration) {\n console.log('SW registered: ', registration);\n })\n .catch(function(registrationError) {\n console.log('SW registration failed: ', registrationError);\n });\n });\n}\n","/* global location */\nimport { createRouter, makePublicRouterInstance } from 'next/router'\nimport * as querystring from '../next-server/lib/router/utils/querystring'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { HeadManagerContext } from '../next-server/lib/head-manager-context'\nimport mitt from '../next-server/lib/mitt'\nimport { RouterContext } from '../next-server/lib/router-context'\nimport { isDynamicRoute } from '../next-server/lib/router/utils/is-dynamic'\nimport * as envConfig from '../next-server/lib/runtime-config'\nimport { getURL, loadGetInitialProps, ST } from '../next-server/lib/utils'\nimport { hasBasePath, delBasePath } from '../next-server/lib/router/router'\nimport initHeadManager from './head-manager'\nimport PageLoader from './page-loader'\nimport measureWebVitals from './performance-relayer'\n\n/// \n\nif (!('finally' in Promise.prototype)) {\n // eslint-disable-next-line no-extend-native\n Promise.prototype.finally = require('next/dist/build/polyfills/finally-polyfill.min')\n}\n\nconst data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent)\nwindow.__NEXT_DATA__ = data\n\nexport const version = process.env.__NEXT_VERSION\n\nconst {\n props: hydrateProps,\n err: hydrateErr,\n page,\n query,\n buildId,\n assetPrefix,\n runtimeConfig,\n dynamicIds,\n isFallback,\n} = data\n\nconst prefix = 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 = getURL()\n\n// make sure not to attempt stripping basePath for 404s\nif (hasBasePath(asPath)) {\n asPath = delBasePath(asPath)\n}\n\nconst pageLoader = new PageLoader(buildId, prefix, page)\nconst register = ([r, f]) => pageLoader.registerPage(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 = []\nwindow.__NEXT_P.push = register\n\nconst headManager = initHeadManager()\nconst appElement = document.getElementById('__next')\n\nlet lastAppProps\nlet lastRenderReject\nlet webpackHMR\nexport let router\nlet CachedComponent\nlet CachedApp, onPerfEntry\n\nclass Container extends React.Component {\n componentDidCatch(componentErr, info) {\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 // 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 if (process.env.__NEXT_TEST_MODE) {\n window.__NEXT_HYDRATED = true\n\n if (window.__NEXT_HYDRATED_CB) {\n window.__NEXT_HYDRATED_CB()\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 = 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 }\n if (process.env.NODE_ENV !== 'production') {\n const { ReactDevOverlay } = require('@next/react-dev-overlay/lib/client')\n return {this.props.children}\n }\n }\n}\n\nexport const emitter = mitt()\n\nexport default async ({ webpackHMR: passedWebpackHMR } = {}) => {\n // This makes sure this specific lines are removed in production\n if (process.env.NODE_ENV === 'development') {\n webpackHMR = passedWebpackHMR\n }\n const { page: app, mod } = await pageLoader.loadPage('/_app')\n CachedApp = app\n\n if (mod && mod.reportWebVitals) {\n onPerfEntry = ({\n id,\n name,\n startTime,\n value,\n duration,\n entryType,\n entries,\n }) => {\n // Combines timestamp with random number for unique ID\n const uniqueID = `${Date.now()}-${\n Math.floor(Math.random() * (9e12 - 1)) + 1e12\n }`\n let perfStartEntry\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 ;({ page: CachedComponent } = await pageLoader.loadPage(page))\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,\n subscription: ({ Component, props, err }, App) =>\n render({ App, Component, props, err }),\n })\n\n // call init-client middleware\n if (process.env.__NEXT_PLUGINS) {\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 = {\n App: CachedApp,\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 }\n\n if (process.env.NODE_ENV !== 'production') {\n return { emitter, render, renderCtx }\n }\n}\n\nexport async function render(renderingProps) {\n if (renderingProps.err) {\n await renderError(renderingProps)\n return\n }\n\n try {\n await doRender(renderingProps)\n } catch (renderErr) {\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) {\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 err: null,\n })\n }\n if (process.env.__NEXT_PLUGINS) {\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.loadPage('/_error').then(({ page: ErrorComponent }) => {\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 props: initProps,\n })\n )\n })\n}\n\n// If hydrate does not exist, eg in preact.\nlet isInitialRender = typeof ReactDOM.hydrate === 'function'\nlet reactRoot = null\nfunction renderReactElement(reactEl, domEl) {\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.unstable_createRoot(domEl, opts)\n : ReactDOM.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 (isInitialRender) {\n ReactDOM.hydrate(reactEl, domEl, markHydrateComplete)\n isInitialRender = false\n\n if (onPerfEntry && ST) {\n measureWebVitals(onPerfEntry)\n }\n } else {\n ReactDOM.render(reactEl, domEl, markRenderComplete)\n }\n }\n}\n\nfunction markHydrateComplete() {\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() {\n if (!ST) return\n\n performance.mark('afterRender') // mark end of render\n const navStartEntries = performance.getEntriesByName('routeChange', 'mark')\n\n if (!navStartEntries.length) {\n return\n }\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() {\n ;[\n 'beforeRender',\n 'afterHydrate',\n 'afterRender',\n 'routeChange',\n ].forEach((mark) => performance.clearMarks(mark))\n}\n\nfunction AppContainer({ children }) {\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) => (wrappedAppProps) => {\n const appProps = {\n ...wrappedAppProps,\n Component: CachedComponent,\n err: hydrateErr,\n router,\n }\n return (\n \n \n \n )\n}\n\nasync function doRender({ App, Component, props, err }) {\n Component = Component || lastAppProps.Component\n props = props || lastAppProps.props\n\n const appProps = { ...props, Component, err, router }\n // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n lastAppProps = appProps\n\n let resolvePromise\n const renderPromise = new Promise((resolve, reject) => {\n if (lastRenderReject) {\n lastRenderReject()\n }\n resolvePromise = () => {\n lastRenderReject = null\n resolve()\n }\n lastRenderReject = () => {\n lastRenderReject = null\n reject()\n }\n })\n\n const elem = (\n \n \n \n \n \n )\n\n // We catch runtime errors using componentDidCatch which will trigger renderError\n renderReactElement(\n process.env.__NEXT_STRICT_MODE ? (\n {elem}\n ) : (\n elem\n ),\n appElement\n )\n\n await renderPromise\n}\n\nfunction Root({ callback, children }) {\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 children\n}\n","// Translates a logical route into its pages asset path (relative from a common prefix)\n// \"asset path\" being its javascript file, data file, prerendered html,...\nexport default function getAssetPathFromRoute(\n route: string,\n ext: string = ''\n): string {\n const path =\n route === '/'\n ? '/index'\n : /^\\/index(\\/|$)/.test(route)\n ? `/index${route}`\n : `${route}`\n return path + ext\n}\n","Promise.prototype.finally=function(n){if(\"function\"!=typeof n)return this.then(n,n);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(n()).then(function(){return r})},function(r){return t.resolve(n()).then(function(){throw r})})};","import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals'\n\nexport default (onPerfEntry) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n}\n","// escape delimiters used by path-to-regexp\nexport default function escapePathDelimiters(segment: string): string {\n return segment.replace(/[/#?]/g, (char: string) => encodeURIComponent(char))\n}\n","var t,n,e=function(){return\"\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)},i=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:e(),isFinal:!1}},a=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},r=!1,o=!1,s=function(t){r=!t.persisted},u=function(){addEventListener(\"pagehide\",s),addEventListener(\"unload\",(function(){}))},c=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o||(u(),o=!0),addEventListener(\"visibilitychange\",(function(n){var e=n.timeStamp;\"hidden\"===document.visibilityState&&t({timeStamp:e,isUnloading:r})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||\"hidden\"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],e=i(\"CLS\",0),r=function(t){t.hadRecentInput||(e.value+=t.value,e.entries.push(t),s())},o=a(\"layout-shift\",r),s=l(t,e,o,n);c((function(t){var n=t.isUnloading;o&&o.takeRecords().map(r),n&&(e.isFinal=!0),s()}))},d=function(){return void 0===t&&(t=\"hidden\"===document.visibilityState?0:1/0,c((function(n){var e=n.timeStamp;return t=e}),!0)),{get timeStamp(){return t}}},m=function(t){var n=i(\"FCP\"),e=d(),r=a(\"paint\",(function(t){\"first-contentful-paint\"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],e=i(\"LCP\"),r=d(),o=function(t){var n=t.startTime;n {\n return runtimeConfig\n}\n\nexport function setConfig(configValue: any): void {\n runtimeConfig = configValue\n}\n","import mitt from '../next-server/lib/mitt'\nimport { addBasePath, markLoadingError } from '../next-server/lib/router/router'\nimport escapePathDelimiters from '../next-server/lib/router/utils/escape-path-delimiters'\nimport getAssetPathFromRoute from './../next-server/lib/router/utils/get-asset-path-from-route'\nimport { isDynamicRoute } from './../next-server/lib/router/utils/is-dynamic'\nimport { parseRelativeUrl } from './../next-server/lib/router/utils/parse-relative-url'\nimport { searchParamsToUrlQuery } from './../next-server/lib/router/utils/querystring'\nimport { getRouteMatcher } from './../next-server/lib/router/utils/route-matcher'\nimport { getRouteRegex } from './../next-server/lib/router/utils/route-regex'\n\nfunction hasRel(rel, link) {\n try {\n link = document.createElement('link')\n return link.relList.supports(rel)\n } catch {}\n}\n\nfunction pageLoadError(route) {\n return markLoadingError(new Error(`Error loading ${route}`))\n}\n\nconst relPrefetch =\n hasRel('preload') && !hasRel('prefetch')\n ? // https://caniuse.com/#feat=link-rel-preload\n // macOS and iOS (Safari does not support prefetch)\n 'preload'\n : // https://caniuse.com/#feat=link-rel-prefetch\n // IE 11, Edge 12+, nearly all evergreen\n 'prefetch'\n\nconst hasNoModule = 'noModule' in document.createElement('script')\n\nconst requestIdleCallback =\n window.requestIdleCallback ||\n function (cb) {\n return setTimeout(cb, 1)\n }\n\n/** @param {string} route */\nfunction normalizeRoute(route) {\n if (route[0] !== '/') {\n throw new Error(`Route name should start with a \"/\", got \"${route}\"`)\n }\n\n if (route === '/') return route\n return route.replace(/\\/$/, '')\n}\n\nfunction appendLink(href, rel, as) {\n return new Promise((res, rej, link) => {\n link = document.createElement('link')\n link.crossOrigin = process.env.__NEXT_CROSS_ORIGIN\n link.href = href\n link.rel = rel\n if (as) link.as = as\n\n link.onload = res\n link.onerror = rej\n\n document.head.appendChild(link)\n })\n}\n\nexport default class PageLoader {\n constructor(buildId, assetPrefix, initialPage) {\n this.buildId = buildId\n this.assetPrefix = assetPrefix\n\n this.pageCache = {}\n this.pageRegisterEvents = mitt()\n this.loadingRoutes = {\n // By default these 2 pages are being loaded in the initial html\n '/_app': true,\n }\n\n // TODO: get rid of this limitation for rendering the error page\n if (initialPage !== '/_error') {\n this.loadingRoutes[initialPage] = true\n }\n\n if (process.env.NODE_ENV === 'production') {\n this.promisedBuildManifest = new Promise((resolve) => {\n if (window.__BUILD_MANIFEST) {\n resolve(window.__BUILD_MANIFEST)\n } else {\n window.__BUILD_MANIFEST_CB = () => {\n resolve(window.__BUILD_MANIFEST)\n }\n }\n })\n }\n /** @type {Promise>} */\n this.promisedSsgManifest = new Promise((resolve) => {\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST)\n } else {\n window.__SSG_MANIFEST_CB = () => {\n resolve(window.__SSG_MANIFEST)\n }\n }\n })\n }\n\n // Returns a promise for the dependencies for a particular route\n getDependencies(route) {\n return this.promisedBuildManifest.then((m) => {\n return m[route]\n ? m[route].map((url) => `${this.assetPrefix}/_next/${encodeURI(url)}`)\n : this.pageRegisterEvents.emit(route, {\n error: pageLoadError(route),\n }) ?? []\n })\n }\n\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n getDataHref(href, asPath, ssg) {\n const { pathname: hrefPathname, searchParams, search } = parseRelativeUrl(\n href\n )\n const query = searchParamsToUrlQuery(searchParams)\n const { pathname: asPathname } = parseRelativeUrl(asPath)\n const route = normalizeRoute(hrefPathname)\n\n const getHrefForSlug = (/** @type string */ path) => {\n const dataRoute = getAssetPathFromRoute(path, '.json')\n return addBasePath(\n `/_next/data/${this.buildId}${dataRoute}${ssg ? '' : search}`\n )\n }\n\n let isDynamic = isDynamicRoute(route),\n interpolatedRoute\n if (isDynamic) {\n const dynamicRegex = getRouteRegex(route)\n const dynamicGroups = dynamicRegex.groups\n const dynamicMatches =\n // Try to match the dynamic route against the asPath\n 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 if (\n !Object.keys(dynamicGroups).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.map(escapePathDelimiters).join('/')\n : escapePathDelimiters(value)\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 }\n\n return isDynamic\n ? interpolatedRoute && getHrefForSlug(interpolatedRoute)\n : getHrefForSlug(route)\n }\n\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n prefetchData(href, asPath) {\n const { pathname: hrefPathname } = parseRelativeUrl(href)\n const route = normalizeRoute(hrefPathname)\n return this.promisedSsgManifest.then((s, _dataHref) => {\n requestIdleCallback(() => {\n // Check if the route requires a data file\n s.has(route) &&\n // Try to generate data href, noop when falsy\n (_dataHref = this.getDataHref(href, asPath, true)) &&\n // noop when data has already been prefetched (dedupe)\n !document.querySelector(\n `link[rel=\"${relPrefetch}\"][href^=\"${_dataHref}\"]`\n ) &&\n // Inject the `` tag for above computed `href`.\n appendLink(_dataHref, relPrefetch, 'fetch')\n })\n })\n }\n\n loadPage(route) {\n route = normalizeRoute(route)\n\n return new Promise((resolve, reject) => {\n // If there's a cached version of the page, let's use it.\n const cachedPage = this.pageCache[route]\n if (cachedPage) {\n const { error, page, mod } = cachedPage\n error ? reject(error) : resolve({ page, mod })\n return\n }\n\n const fire = ({ error, page, mod }) => {\n this.pageRegisterEvents.off(route, fire)\n delete this.loadingRoutes[route]\n\n if (error) {\n reject(error)\n } else {\n resolve({ page, mod })\n }\n }\n\n // Register a listener to get the page\n this.pageRegisterEvents.on(route, fire)\n\n if (!this.loadingRoutes[route]) {\n this.loadingRoutes[route] = true\n if (process.env.NODE_ENV === 'production') {\n this.getDependencies(route).then((deps) => {\n deps.forEach((d) => {\n if (\n d.endsWith('.js') &&\n !document.querySelector(`script[src^=\"${d}\"]`)\n ) {\n this.loadScript(d, route)\n }\n if (\n d.endsWith('.css') &&\n !document.querySelector(`link[rel=stylesheet][href^=\"${d}\"]`)\n ) {\n appendLink(d, 'stylesheet').catch(() => {\n // FIXME: handle failure\n // Right now, this is needed to prevent an unhandled rejection.\n })\n }\n })\n })\n } else {\n // Development only. In production the page file is part of the build manifest\n route = normalizeRoute(route)\n let scriptRoute = getAssetPathFromRoute(route, '.js')\n\n const url = `${this.assetPrefix}/_next/static/chunks/pages${encodeURI(\n scriptRoute\n )}`\n this.loadScript(url, route)\n }\n }\n })\n }\n\n loadScript(url, route) {\n const script = document.createElement('script')\n if (process.env.__NEXT_MODERN_BUILD && hasNoModule) {\n script.type = 'module'\n }\n script.crossOrigin = process.env.__NEXT_CROSS_ORIGIN\n script.src = url\n script.onerror = () => {\n this.pageRegisterEvents.emit(route, { error: pageLoadError(url) })\n }\n document.body.appendChild(script)\n }\n\n // This method if called by the route code.\n registerPage(route, regFn) {\n const register = () => {\n try {\n const mod = regFn()\n const pageData = { page: mod.default || mod, mod }\n this.pageCache[route] = pageData\n this.pageRegisterEvents.emit(route, pageData)\n } catch (error) {\n this.pageCache[route] = { error }\n this.pageRegisterEvents.emit(route, { error })\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // Wait for webpack to become idle if it's not.\n // More info: https://github.com/vercel/next.js/pull/1511\n if (module.hot && module.hot.status() !== 'idle') {\n console.log(\n `Waiting for webpack to become \"idle\" to initialize the page: \"${route}\"`\n )\n\n const check = (status) => {\n if (status === 'idle') {\n module.hot.removeStatusHandler(check)\n register()\n }\n }\n module.hot.status(check)\n return\n }\n }\n\n register()\n }\n\n /**\n * @param {string} route\n * @param {boolean} [isDependency]\n */\n prefetch(route, isDependency) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn\n if ((cn = navigator.connection)) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve()\n }\n\n /** @type {string} */\n let url\n if (isDependency) {\n url = route\n } else {\n if (process.env.NODE_ENV !== 'production') {\n route = normalizeRoute(route)\n\n const ext =\n process.env.__NEXT_MODERN_BUILD && hasNoModule ? '.module.js' : '.js'\n const scriptRoute = getAssetPathFromRoute(route, ext)\n\n url = `${this.assetPrefix}/_next/static/${encodeURIComponent(\n this.buildId\n )}/pages${encodeURI(scriptRoute)}`\n }\n }\n\n return Promise.all(\n document.querySelector(`link[rel=\"${relPrefetch}\"][href^=\"${url}\"]`)\n ? []\n : [\n url &&\n appendLink(\n url,\n relPrefetch,\n url.endsWith('.css') ? 'style' : 'script'\n ),\n process.env.NODE_ENV === 'production' &&\n !isDependency &&\n this.getDependencies(route).then((urls) =>\n Promise.all(\n urls.map((dependencyUrl) =>\n this.prefetch(dependencyUrl, true)\n )\n )\n ),\n ]\n ).then(\n // do not return any data\n () => {},\n // swallow prefetch errors\n () => {}\n )\n }\n}\n"],"sourceRoot":""}