You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			848 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			JavaScript
		
	
		
		
			
		
	
	
			848 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			JavaScript
		
	
| 
											9 months ago
										 | "use strict"; | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |     value: true | ||
|  | }); | ||
|  | 0 && (module.exports = { | ||
|  |     Head: null, | ||
|  |     NextScript: null, | ||
|  |     Html: null, | ||
|  |     Main: null, | ||
|  |     default: null | ||
|  | }); | ||
|  | function _export(target, all) { | ||
|  |     for(var name in all)Object.defineProperty(target, name, { | ||
|  |         enumerable: true, | ||
|  |         get: all[name] | ||
|  |     }); | ||
|  | } | ||
|  | _export(exports, { | ||
|  |     Head: function() { | ||
|  |         return Head; | ||
|  |     }, | ||
|  |     NextScript: function() { | ||
|  |         return NextScript; | ||
|  |     }, | ||
|  |     Html: function() { | ||
|  |         return Html; | ||
|  |     }, | ||
|  |     Main: function() { | ||
|  |         return Main; | ||
|  |     }, | ||
|  |     /** | ||
|  |  * `Document` component handles the initial `document` markup and renders only on the server side. | ||
|  |  * Commonly used for implementing server side rendering for `css-in-js` libraries. | ||
|  |  */ default: function() { | ||
|  |         return Document; | ||
|  |     } | ||
|  | }); | ||
|  | const _jsxruntime = require("react/jsx-runtime"); | ||
|  | const _react = /*#__PURE__*/ _interop_require_wildcard(require("react")); | ||
|  | const _constants = require("../shared/lib/constants"); | ||
|  | const _getpagefiles = require("../server/get-page-files"); | ||
|  | const _htmlescape = require("../server/htmlescape"); | ||
|  | const _iserror = /*#__PURE__*/ _interop_require_default(require("../lib/is-error")); | ||
|  | const _htmlcontextsharedruntime = require("../shared/lib/html-context.shared-runtime"); | ||
|  | function _interop_require_default(obj) { | ||
|  |     return obj && obj.__esModule ? obj : { | ||
|  |         default: obj | ||
|  |     }; | ||
|  | } | ||
|  | function _getRequireWildcardCache(nodeInterop) { | ||
|  |     if (typeof WeakMap !== "function") return null; | ||
|  |     var cacheBabelInterop = new WeakMap(); | ||
|  |     var cacheNodeInterop = new WeakMap(); | ||
|  |     return (_getRequireWildcardCache = function(nodeInterop) { | ||
|  |         return nodeInterop ? cacheNodeInterop : cacheBabelInterop; | ||
|  |     })(nodeInterop); | ||
|  | } | ||
|  | function _interop_require_wildcard(obj, nodeInterop) { | ||
|  |     if (!nodeInterop && obj && obj.__esModule) { | ||
|  |         return obj; | ||
|  |     } | ||
|  |     if (obj === null || typeof obj !== "object" && typeof obj !== "function") { | ||
|  |         return { | ||
|  |             default: obj | ||
|  |         }; | ||
|  |     } | ||
|  |     var cache = _getRequireWildcardCache(nodeInterop); | ||
|  |     if (cache && cache.has(obj)) { | ||
|  |         return cache.get(obj); | ||
|  |     } | ||
|  |     var newObj = {}; | ||
|  |     var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; | ||
|  |     for(var key in obj){ | ||
|  |         if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { | ||
|  |             var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; | ||
|  |             if (desc && (desc.get || desc.set)) { | ||
|  |                 Object.defineProperty(newObj, key, desc); | ||
|  |             } else { | ||
|  |                 newObj[key] = obj[key]; | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  |     newObj.default = obj; | ||
|  |     if (cache) { | ||
|  |         cache.set(obj, newObj); | ||
|  |     } | ||
|  |     return newObj; | ||
|  | } | ||
|  | /** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set(); | ||
|  | function getDocumentFiles(buildManifest, pathname, inAmpMode) { | ||
|  |     const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, "/_app"); | ||
|  |     const pageFiles = process.env.NEXT_RUNTIME !== "edge" && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname); | ||
|  |     return { | ||
|  |         sharedFiles, | ||
|  |         pageFiles, | ||
|  |         allFiles: [ | ||
|  |             ...new Set([ | ||
|  |                 ...sharedFiles, | ||
|  |                 ...pageFiles | ||
|  |             ]) | ||
|  |         ] | ||
|  |     }; | ||
|  | } | ||
|  | function getPolyfillScripts(context, props) { | ||
|  |     // polyfills.js has to be rendered as nomodule without async
 | ||
|  |     // It also has to be the first script to load
 | ||
|  |     const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context; | ||
|  |     return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(".js") && !polyfill.endsWith(".module.js")).map((polyfill)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |             defer: !disableOptimizedLoading, | ||
|  |             nonce: props.nonce, | ||
|  |             crossOrigin: props.crossOrigin || crossOrigin, | ||
|  |             noModule: true, | ||
|  |             src: `${assetPrefix}/_next/${polyfill}${assetQueryString}` | ||
|  |         }, polyfill)); | ||
|  | } | ||
|  | function hasComponentProps(child) { | ||
|  |     return !!child && !!child.props; | ||
|  | } | ||
|  | function AmpStyles({ styles }) { | ||
|  |     if (!styles) return null; | ||
|  |     // try to parse styles from fragment for backwards compat
 | ||
|  |     const curStyles = Array.isArray(styles) ? styles : []; | ||
|  |     if (// @ts-ignore Property 'props' does not exist on type ReactElement
 | ||
|  |     styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement
 | ||
|  |     Array.isArray(styles.props.children)) { | ||
|  |         const hasStyles = (el)=>{ | ||
|  |             var _el_props_dangerouslySetInnerHTML, _el_props; | ||
|  |             return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html; | ||
|  |         }; | ||
|  |         // @ts-ignore Property 'props' does not exist on type ReactElement
 | ||
|  |         styles.props.children.forEach((child)=>{ | ||
|  |             if (Array.isArray(child)) { | ||
|  |                 child.forEach((el)=>hasStyles(el) && curStyles.push(el)); | ||
|  |             } else if (hasStyles(child)) { | ||
|  |                 curStyles.push(child); | ||
|  |             } | ||
|  |         }); | ||
|  |     } | ||
|  |     /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { | ||
|  |         "amp-custom": "", | ||
|  |         dangerouslySetInnerHTML: { | ||
|  |             __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join("").replace(/\/\*# sourceMappingURL=.*\*\//g, "").replace(/\/\*@ sourceURL=.*?\*\//g, "") | ||
|  |         } | ||
|  |     }); | ||
|  | } | ||
|  | function getDynamicChunks(context, props, files) { | ||
|  |     const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context; | ||
|  |     return dynamicImports.map((file)=>{ | ||
|  |         if (!file.endsWith(".js") || files.allFiles.includes(file)) return null; | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |             async: !isDevelopment && disableOptimizedLoading, | ||
|  |             defer: !disableOptimizedLoading, | ||
|  |             src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |             nonce: props.nonce, | ||
|  |             crossOrigin: props.crossOrigin || crossOrigin | ||
|  |         }, file); | ||
|  |     }); | ||
|  | } | ||
|  | function getScripts(context, props, files) { | ||
|  |     var _buildManifest_lowPriorityFiles; | ||
|  |     const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context; | ||
|  |     const normalScripts = files.allFiles.filter((file)=>file.endsWith(".js")); | ||
|  |     const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(".js")); | ||
|  |     return [ | ||
|  |         ...normalScripts, | ||
|  |         ...lowPriorityScripts | ||
|  |     ].map((file)=>{ | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |             src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |             nonce: props.nonce, | ||
|  |             async: !isDevelopment && disableOptimizedLoading, | ||
|  |             defer: !disableOptimizedLoading, | ||
|  |             crossOrigin: props.crossOrigin || crossOrigin | ||
|  |         }, file); | ||
|  |     }); | ||
|  | } | ||
|  | function getPreNextWorkerScripts(context, props) { | ||
|  |     const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context; | ||
|  |     // disable `nextScriptWorkers` in edge runtime
 | ||
|  |     if (!nextScriptWorkers || process.env.NEXT_RUNTIME === "edge") return null; | ||
|  |     try { | ||
|  |         let { partytownSnippet } = __non_webpack_require__("@builder.io/partytown/integration"); | ||
|  |         const children = Array.isArray(props.children) ? props.children : [ | ||
|  |             props.children | ||
|  |         ]; | ||
|  |         // Check to see if the user has defined their own Partytown configuration
 | ||
|  |         const userDefinedConfig = children.find((child)=>{ | ||
|  |             var _child_props_dangerouslySetInnerHTML, _child_props; | ||
|  |             return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && "data-partytown-config" in child.props; | ||
|  |         }); | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |             children: [ | ||
|  |                 !userDefinedConfig && /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                     "data-partytown-config": "", | ||
|  |                     dangerouslySetInnerHTML: { | ||
|  |                         __html: `
 | ||
|  |             partytown = { | ||
|  |               lib: "${assetPrefix}/_next/static/~partytown/" | ||
|  |             }; | ||
|  |           `
 | ||
|  |                     } | ||
|  |                 }), | ||
|  |                 /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                     "data-partytown": "", | ||
|  |                     dangerouslySetInnerHTML: { | ||
|  |                         __html: partytownSnippet() | ||
|  |                     } | ||
|  |                 }), | ||
|  |                 (scriptLoader.worker || []).map((file, index)=>{ | ||
|  |                     const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file; | ||
|  |                     let srcProps = {}; | ||
|  |                     if (src) { | ||
|  |                         // Use external src if provided
 | ||
|  |                         srcProps.src = src; | ||
|  |                     } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) { | ||
|  |                         // Embed inline script if provided with dangerouslySetInnerHTML
 | ||
|  |                         srcProps.dangerouslySetInnerHTML = { | ||
|  |                             __html: dangerouslySetInnerHTML.__html | ||
|  |                         }; | ||
|  |                     } else if (scriptChildren) { | ||
|  |                         // Embed inline script if provided with children
 | ||
|  |                         srcProps.dangerouslySetInnerHTML = { | ||
|  |                             __html: typeof scriptChildren === "string" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join("") : "" | ||
|  |                         }; | ||
|  |                     } else { | ||
|  |                         throw new Error("Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script"); | ||
|  |                     } | ||
|  |                     return /*#__PURE__*/ (0, _react.createElement)("script", { | ||
|  |                         ...srcProps, | ||
|  |                         ...scriptProps, | ||
|  |                         type: "text/partytown", | ||
|  |                         key: src || index, | ||
|  |                         nonce: props.nonce, | ||
|  |                         "data-nscript": "worker", | ||
|  |                         crossOrigin: props.crossOrigin || crossOrigin | ||
|  |                     }); | ||
|  |                 }) | ||
|  |             ] | ||
|  |         }); | ||
|  |     } catch (err) { | ||
|  |         if ((0, _iserror.default)(err) && err.code !== "MODULE_NOT_FOUND") { | ||
|  |             console.warn(`Warning: ${err.message}`); | ||
|  |         } | ||
|  |         return null; | ||
|  |     } | ||
|  | } | ||
|  | function getPreNextScripts(context, props) { | ||
|  |     const { scriptLoader, disableOptimizedLoading, crossOrigin } = context; | ||
|  |     const webWorkerScripts = getPreNextWorkerScripts(context, props); | ||
|  |     const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{ | ||
|  |         const { strategy, ...scriptProps } = file; | ||
|  |         return /*#__PURE__*/ (0, _react.createElement)("script", { | ||
|  |             ...scriptProps, | ||
|  |             key: scriptProps.src || index, | ||
|  |             defer: scriptProps.defer ?? !disableOptimizedLoading, | ||
|  |             nonce: props.nonce, | ||
|  |             "data-nscript": "beforeInteractive", | ||
|  |             crossOrigin: props.crossOrigin || crossOrigin | ||
|  |         }); | ||
|  |     }); | ||
|  |     return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |         children: [ | ||
|  |             webWorkerScripts, | ||
|  |             beforeInteractiveScripts | ||
|  |         ] | ||
|  |     }); | ||
|  | } | ||
|  | function getHeadHTMLProps(props) { | ||
|  |     const { crossOrigin, nonce, ...restProps } = props; | ||
|  |     // This assignment is necessary for additional type checking to avoid unsupported attributes in <head>
 | ||
|  |     const headProps = restProps; | ||
|  |     return headProps; | ||
|  | } | ||
|  | function getAmpPath(ampPath, asPath) { | ||
|  |     return ampPath || `${asPath}${asPath.includes("?") ? "&" : "?"}amp=1`; | ||
|  | } | ||
|  | function getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = "") { | ||
|  |     if (!nextFontManifest) { | ||
|  |         return { | ||
|  |             preconnect: null, | ||
|  |             preload: null | ||
|  |         }; | ||
|  |     } | ||
|  |     const appFontsEntry = nextFontManifest.pages["/_app"]; | ||
|  |     const pageFontsEntry = nextFontManifest.pages[dangerousAsPath]; | ||
|  |     const preloadedFontFiles = [ | ||
|  |         ...appFontsEntry ?? [], | ||
|  |         ...pageFontsEntry ?? [] | ||
|  |     ]; | ||
|  |     // If no font files should preload but there's an entry for the path, add a preconnect tag.
 | ||
|  |     const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry)); | ||
|  |     return { | ||
|  |         preconnect: preconnectToSelf ? /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |             "data-next-font": nextFontManifest.pagesUsingSizeAdjust ? "size-adjust" : "", | ||
|  |             rel: "preconnect", | ||
|  |             href: "/", | ||
|  |             crossOrigin: "anonymous" | ||
|  |         }) : null, | ||
|  |         preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{ | ||
|  |             const ext = /\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1]; | ||
|  |             return /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                 rel: "preload", | ||
|  |                 href: `${assetPrefix}/_next/${encodeURI(fontFile)}`, | ||
|  |                 as: "font", | ||
|  |                 type: `font/${ext}`, | ||
|  |                 crossOrigin: "anonymous", | ||
|  |                 "data-next-font": fontFile.includes("-s") ? "size-adjust" : "" | ||
|  |             }, fontFile); | ||
|  |         }) : null | ||
|  |     }; | ||
|  | } | ||
|  | class Head extends _react.default.Component { | ||
|  |     static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext; | ||
|  |     getCssLinks(files) { | ||
|  |         const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context; | ||
|  |         const cssFiles = files.allFiles.filter((f)=>f.endsWith(".css")); | ||
|  |         const sharedFiles = new Set(files.sharedFiles); | ||
|  |         // Unmanaged files are CSS files that will be handled directly by the
 | ||
|  |         // webpack runtime (`mini-css-extract-plugin`).
 | ||
|  |         let unmangedFiles = new Set([]); | ||
|  |         let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(".css")))); | ||
|  |         if (dynamicCssFiles.length) { | ||
|  |             const existing = new Set(cssFiles); | ||
|  |             dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f))); | ||
|  |             unmangedFiles = new Set(dynamicCssFiles); | ||
|  |             cssFiles.push(...dynamicCssFiles); | ||
|  |         } | ||
|  |         let cssLinkElements = []; | ||
|  |         cssFiles.forEach((file)=>{ | ||
|  |             const isSharedFile = sharedFiles.has(file); | ||
|  |             if (!optimizeCss) { | ||
|  |                 cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                     nonce: this.props.nonce, | ||
|  |                     rel: "preload", | ||
|  |                     href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |                     as: "style", | ||
|  |                     crossOrigin: this.props.crossOrigin || crossOrigin | ||
|  |                 }, `${file}-preload`)); | ||
|  |             } | ||
|  |             const isUnmanagedFile = unmangedFiles.has(file); | ||
|  |             cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                 nonce: this.props.nonce, | ||
|  |                 rel: "stylesheet", | ||
|  |                 href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |                 crossOrigin: this.props.crossOrigin || crossOrigin, | ||
|  |                 "data-n-g": isUnmanagedFile ? undefined : isSharedFile ? "" : undefined, | ||
|  |                 "data-n-p": isUnmanagedFile ? undefined : isSharedFile ? undefined : "" | ||
|  |             }, file)); | ||
|  |         }); | ||
|  |         if (process.env.NODE_ENV !== "development" && optimizeFonts) { | ||
|  |             cssLinkElements = this.makeStylesheetInert(cssLinkElements); | ||
|  |         } | ||
|  |         return cssLinkElements.length === 0 ? null : cssLinkElements; | ||
|  |     } | ||
|  |     getPreloadDynamicChunks() { | ||
|  |         const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context; | ||
|  |         return dynamicImports.map((file)=>{ | ||
|  |             if (!file.endsWith(".js")) { | ||
|  |                 return null; | ||
|  |             } | ||
|  |             return /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                 rel: "preload", | ||
|  |                 href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |                 as: "script", | ||
|  |                 nonce: this.props.nonce, | ||
|  |                 crossOrigin: this.props.crossOrigin || crossOrigin | ||
|  |             }, file); | ||
|  |         })// Filter out nulled scripts
 | ||
|  |         .filter(Boolean); | ||
|  |     } | ||
|  |     getPreloadMainLinks(files) { | ||
|  |         const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context; | ||
|  |         const preloadFiles = files.allFiles.filter((file)=>{ | ||
|  |             return file.endsWith(".js"); | ||
|  |         }); | ||
|  |         return [ | ||
|  |             ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                     nonce: this.props.nonce, | ||
|  |                     rel: "preload", | ||
|  |                     href: file.src, | ||
|  |                     as: "script", | ||
|  |                     crossOrigin: this.props.crossOrigin || crossOrigin | ||
|  |                 }, file.src)), | ||
|  |             ...preloadFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                     nonce: this.props.nonce, | ||
|  |                     rel: "preload", | ||
|  |                     href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |                     as: "script", | ||
|  |                     crossOrigin: this.props.crossOrigin || crossOrigin | ||
|  |                 }, file)) | ||
|  |         ]; | ||
|  |     } | ||
|  |     getBeforeInteractiveInlineScripts() { | ||
|  |         const { scriptLoader } = this.context; | ||
|  |         const { nonce, crossOrigin } = this.props; | ||
|  |         return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{ | ||
|  |             const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file; | ||
|  |             let html = ""; | ||
|  |             if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) { | ||
|  |                 html = dangerouslySetInnerHTML.__html; | ||
|  |             } else if (children) { | ||
|  |                 html = typeof children === "string" ? children : Array.isArray(children) ? children.join("") : ""; | ||
|  |             } | ||
|  |             return /*#__PURE__*/ (0, _react.createElement)("script", { | ||
|  |                 ...scriptProps, | ||
|  |                 dangerouslySetInnerHTML: { | ||
|  |                     __html: html | ||
|  |                 }, | ||
|  |                 key: scriptProps.id || index, | ||
|  |                 nonce: nonce, | ||
|  |                 "data-nscript": "beforeInteractive", | ||
|  |                 crossOrigin: crossOrigin || process.env.__NEXT_CROSS_ORIGIN | ||
|  |             }); | ||
|  |         }); | ||
|  |     } | ||
|  |     getDynamicChunks(files) { | ||
|  |         return getDynamicChunks(this.context, this.props, files); | ||
|  |     } | ||
|  |     getPreNextScripts() { | ||
|  |         return getPreNextScripts(this.context, this.props); | ||
|  |     } | ||
|  |     getScripts(files) { | ||
|  |         return getScripts(this.context, this.props, files); | ||
|  |     } | ||
|  |     getPolyfillScripts() { | ||
|  |         return getPolyfillScripts(this.context, this.props); | ||
|  |     } | ||
|  |     makeStylesheetInert(node) { | ||
|  |         return _react.default.Children.map(node, (c)=>{ | ||
|  |             var _c_props, _c_props1; | ||
|  |             if ((c == null ? void 0 : c.type) === "link" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{ | ||
|  |                 var _c_props_href, _c_props; | ||
|  |                 return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url); | ||
|  |             })) { | ||
|  |                 const newProps = { | ||
|  |                     ...c.props || {}, | ||
|  |                     "data-href": c.props.href, | ||
|  |                     href: undefined | ||
|  |                 }; | ||
|  |                 return /*#__PURE__*/ _react.default.cloneElement(c, newProps); | ||
|  |             } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) { | ||
|  |                 const newProps = { | ||
|  |                     ...c.props || {}, | ||
|  |                     children: this.makeStylesheetInert(c.props.children) | ||
|  |                 }; | ||
|  |                 return /*#__PURE__*/ _react.default.cloneElement(c, newProps); | ||
|  |             } | ||
|  |             return c; | ||
|  |         // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`
 | ||
|  |         }).filter(Boolean); | ||
|  |     } | ||
|  |     render() { | ||
|  |         const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context; | ||
|  |         const disableRuntimeJS = unstable_runtimeJS === false; | ||
|  |         const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading; | ||
|  |         this.context.docComponentsRendered.Head = true; | ||
|  |         let { head } = this.context; | ||
|  |         let cssPreloads = []; | ||
|  |         let otherHeadElements = []; | ||
|  |         if (head) { | ||
|  |             head.forEach((c)=>{ | ||
|  |                 let metaTag; | ||
|  |                 if (this.context.strictNextHead) { | ||
|  |                     metaTag = /*#__PURE__*/ _react.default.createElement("meta", { | ||
|  |                         name: "next-head", | ||
|  |                         content: "1" | ||
|  |                     }); | ||
|  |                 } | ||
|  |                 if (c && c.type === "link" && c.props["rel"] === "preload" && c.props["as"] === "style") { | ||
|  |                     metaTag && cssPreloads.push(metaTag); | ||
|  |                     cssPreloads.push(c); | ||
|  |                 } else { | ||
|  |                     if (c) { | ||
|  |                         if (metaTag && (c.type !== "meta" || !c.props["charSet"])) { | ||
|  |                             otherHeadElements.push(metaTag); | ||
|  |                         } | ||
|  |                         otherHeadElements.push(c); | ||
|  |                     } | ||
|  |                 } | ||
|  |             }); | ||
|  |             head = cssPreloads.concat(otherHeadElements); | ||
|  |         } | ||
|  |         let children = _react.default.Children.toArray(this.props.children).filter(Boolean); | ||
|  |         // show a warning if Head contains <title> (only in development)
 | ||
|  |         if (process.env.NODE_ENV !== "production") { | ||
|  |             children = _react.default.Children.map(children, (child)=>{ | ||
|  |                 var _child_props; | ||
|  |                 const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props["data-react-helmet"]; | ||
|  |                 if (!isReactHelmet) { | ||
|  |                     var _child_props1; | ||
|  |                     if ((child == null ? void 0 : child.type) === "title") { | ||
|  |                         console.warn("Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title"); | ||
|  |                     } else if ((child == null ? void 0 : child.type) === "meta" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === "viewport") { | ||
|  |                         console.warn("Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta"); | ||
|  |                     } | ||
|  |                 } | ||
|  |                 return child; | ||
|  |             // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`
 | ||
|  |             }); | ||
|  |             if (this.props.crossOrigin) console.warn("Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated"); | ||
|  |         } | ||
|  |         if (process.env.NODE_ENV !== "development" && optimizeFonts && !(process.env.NEXT_RUNTIME !== "edge" && inAmpMode)) { | ||
|  |             children = this.makeStylesheetInert(children); | ||
|  |         } | ||
|  |         let hasAmphtmlRel = false; | ||
|  |         let hasCanonicalRel = false; | ||
|  |         // show warning and remove conflicting amp head tags
 | ||
|  |         head = _react.default.Children.map(head || [], (child)=>{ | ||
|  |             if (!child) return child; | ||
|  |             const { type, props } = child; | ||
|  |             if (process.env.NEXT_RUNTIME !== "edge" && inAmpMode) { | ||
|  |                 let badProp = ""; | ||
|  |                 if (type === "meta" && props.name === "viewport") { | ||
|  |                     badProp = 'name="viewport"'; | ||
|  |                 } else if (type === "link" && props.rel === "canonical") { | ||
|  |                     hasCanonicalRel = true; | ||
|  |                 } else if (type === "script") { | ||
|  |                     // only block if
 | ||
|  |                     // 1. it has a src and isn't pointing to ampproject's CDN
 | ||
|  |                     // 2. it is using dangerouslySetInnerHTML without a type or
 | ||
|  |                     // a type of text/javascript
 | ||
|  |                     if (props.src && props.src.indexOf("ampproject") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === "text/javascript")) { | ||
|  |                         badProp = "<script"; | ||
|  |                         Object.keys(props).forEach((prop)=>{ | ||
|  |                             badProp += ` ${prop}="${props[prop]}"`; | ||
|  |                         }); | ||
|  |                         badProp += "/>"; | ||
|  |                     } | ||
|  |                 } | ||
|  |                 if (badProp) { | ||
|  |                     console.warn(`Found conflicting amp tag "${child.type}" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`); | ||
|  |                     return null; | ||
|  |                 } | ||
|  |             } else { | ||
|  |                 // non-amp mode
 | ||
|  |                 if (type === "link" && props.rel === "amphtml") { | ||
|  |                     hasAmphtmlRel = true; | ||
|  |                 } | ||
|  |             } | ||
|  |             return child; | ||
|  |         // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`
 | ||
|  |         }); | ||
|  |         const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, process.env.NEXT_RUNTIME !== "edge" && inAmpMode); | ||
|  |         const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix); | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsxs)("head", { | ||
|  |             ...getHeadHTMLProps(this.props), | ||
|  |             children: [ | ||
|  |                 this.context.isDevelopment && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |                     children: [ | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { | ||
|  |                             "data-next-hide-fouc": true, | ||
|  |                             "data-ampdevmode": process.env.NEXT_RUNTIME !== "edge" && inAmpMode ? "true" : undefined, | ||
|  |                             dangerouslySetInnerHTML: { | ||
|  |                                 __html: `body{display:none}` | ||
|  |                             } | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("noscript", { | ||
|  |                             "data-next-hide-fouc": true, | ||
|  |                             "data-ampdevmode": process.env.NEXT_RUNTIME !== "edge" && inAmpMode ? "true" : undefined, | ||
|  |                             children: /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { | ||
|  |                                 dangerouslySetInnerHTML: { | ||
|  |                                     __html: `body{display:block}` | ||
|  |                                 } | ||
|  |                             }) | ||
|  |                         }) | ||
|  |                     ] | ||
|  |                 }), | ||
|  |                 head, | ||
|  |                 this.context.strictNextHead ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { | ||
|  |                     name: "next-head-count", | ||
|  |                     content: _react.default.Children.count(head || []).toString() | ||
|  |                 }), | ||
|  |                 children, | ||
|  |                 optimizeFonts && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { | ||
|  |                     name: "next-font-preconnect" | ||
|  |                 }), | ||
|  |                 nextFontLinkTags.preconnect, | ||
|  |                 nextFontLinkTags.preload, | ||
|  |                 process.env.NEXT_RUNTIME !== "edge" && inAmpMode && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |                     children: [ | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { | ||
|  |                             name: "viewport", | ||
|  |                             content: "width=device-width,minimum-scale=1,initial-scale=1" | ||
|  |                         }), | ||
|  |                         !hasCanonicalRel && /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                             rel: "canonical", | ||
|  |                             href: canonicalBase + require("../server/utils").cleanAmpPath(dangerousAsPath) | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                             rel: "preload", | ||
|  |                             as: "script", | ||
|  |                             href: "https://cdn.ampproject.org/v0.js" | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)(AmpStyles, { | ||
|  |                             styles: styles | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { | ||
|  |                             "amp-boilerplate": "", | ||
|  |                             dangerouslySetInnerHTML: { | ||
|  |                                 __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}` | ||
|  |                             } | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("noscript", { | ||
|  |                             children: /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { | ||
|  |                                 "amp-boilerplate": "", | ||
|  |                                 dangerouslySetInnerHTML: { | ||
|  |                                     __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}` | ||
|  |                                 } | ||
|  |                             }) | ||
|  |                         }), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                             async: true, | ||
|  |                             src: "https://cdn.ampproject.org/v0.js" | ||
|  |                         }) | ||
|  |                     ] | ||
|  |                 }), | ||
|  |                 !(process.env.NEXT_RUNTIME !== "edge" && inAmpMode) && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |                     children: [ | ||
|  |                         !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ (0, _jsxruntime.jsx)("link", { | ||
|  |                             rel: "amphtml", | ||
|  |                             href: canonicalBase + getAmpPath(ampPath, dangerousAsPath) | ||
|  |                         }), | ||
|  |                         this.getBeforeInteractiveInlineScripts(), | ||
|  |                         !optimizeCss && this.getCssLinks(files), | ||
|  |                         !optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)("noscript", { | ||
|  |                             "data-n-css": this.props.nonce ?? "" | ||
|  |                         }), | ||
|  |                         !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(), | ||
|  |                         !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files), | ||
|  |                         !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), | ||
|  |                         !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), | ||
|  |                         !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), | ||
|  |                         !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files), | ||
|  |                         optimizeCss && this.getCssLinks(files), | ||
|  |                         optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)("noscript", { | ||
|  |                             "data-n-css": this.props.nonce ?? "" | ||
|  |                         }), | ||
|  |                         this.context.isDevelopment && // this element is used to mount development styles so the
 | ||
|  |                         // ordering matches production
 | ||
|  |                         // (by default, style-loader injects at the bottom of <head />)
 | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)("noscript", { | ||
|  |                             id: "__next_css__DO_NOT_USE__" | ||
|  |                         }), | ||
|  |                         styles || null | ||
|  |                     ] | ||
|  |                 }), | ||
|  |                 /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || []) | ||
|  |             ] | ||
|  |         }); | ||
|  |     } | ||
|  | } | ||
|  | function handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) { | ||
|  |     var _children_find_props, _children_find, _children_find_props1, _children_find1; | ||
|  |     if (!props.children) return; | ||
|  |     const scriptLoaderItems = []; | ||
|  |     const children = Array.isArray(props.children) ? props.children : [ | ||
|  |         props.children | ||
|  |     ]; | ||
|  |     const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children; | ||
|  |     const bodyChildren = (_children_find1 = children.find((child)=>child.type === "body")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children; | ||
|  |     // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed
 | ||
|  |     const combinedChildren = [ | ||
|  |         ...Array.isArray(headChildren) ? headChildren : [ | ||
|  |             headChildren | ||
|  |         ], | ||
|  |         ...Array.isArray(bodyChildren) ? bodyChildren : [ | ||
|  |             bodyChildren | ||
|  |         ] | ||
|  |     ]; | ||
|  |     _react.default.Children.forEach(combinedChildren, (child)=>{ | ||
|  |         var _child_type; | ||
|  |         if (!child) return; | ||
|  |         // When using the `next/script` component, register it in script loader.
 | ||
|  |         if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) { | ||
|  |             if (child.props.strategy === "beforeInteractive") { | ||
|  |                 scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([ | ||
|  |                     { | ||
|  |                         ...child.props | ||
|  |                     } | ||
|  |                 ]); | ||
|  |                 return; | ||
|  |             } else if ([ | ||
|  |                 "lazyOnload", | ||
|  |                 "afterInteractive", | ||
|  |                 "worker" | ||
|  |             ].includes(child.props.strategy)) { | ||
|  |                 scriptLoaderItems.push(child.props); | ||
|  |                 return; | ||
|  |             } | ||
|  |         } | ||
|  |     }); | ||
|  |     __NEXT_DATA__.scriptLoader = scriptLoaderItems; | ||
|  | } | ||
|  | class NextScript extends _react.default.Component { | ||
|  |     static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext; | ||
|  |     getDynamicChunks(files) { | ||
|  |         return getDynamicChunks(this.context, this.props, files); | ||
|  |     } | ||
|  |     getPreNextScripts() { | ||
|  |         return getPreNextScripts(this.context, this.props); | ||
|  |     } | ||
|  |     getScripts(files) { | ||
|  |         return getScripts(this.context, this.props, files); | ||
|  |     } | ||
|  |     getPolyfillScripts() { | ||
|  |         return getPolyfillScripts(this.context, this.props); | ||
|  |     } | ||
|  |     static getInlineScriptSource(context) { | ||
|  |         const { __NEXT_DATA__, largePageDataBytes } = context; | ||
|  |         try { | ||
|  |             const data = JSON.stringify(__NEXT_DATA__); | ||
|  |             if (largePageDataWarnings.has(__NEXT_DATA__.page)) { | ||
|  |                 return (0, _htmlescape.htmlEscapeJsonString)(data); | ||
|  |             } | ||
|  |             const bytes = process.env.NEXT_RUNTIME === "edge" ? new TextEncoder().encode(data).buffer.byteLength : Buffer.from(data).byteLength; | ||
|  |             const prettyBytes = require("../lib/pretty-bytes").default; | ||
|  |             if (largePageDataBytes && bytes > largePageDataBytes) { | ||
|  |                 if (process.env.NODE_ENV === "production") { | ||
|  |                     largePageDataWarnings.add(__NEXT_DATA__.page); | ||
|  |                 } | ||
|  |                 console.warn(`Warning: data for page "${__NEXT_DATA__.page}"${__NEXT_DATA__.page === context.dangerousAsPath ? "" : ` (path "${context.dangerousAsPath}")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\nSee more info here: https://nextjs.org/docs/messages/large-page-data`); | ||
|  |             } | ||
|  |             return (0, _htmlescape.htmlEscapeJsonString)(data); | ||
|  |         } catch (err) { | ||
|  |             if ((0, _iserror.default)(err) && err.message.indexOf("circular structure") !== -1) { | ||
|  |                 throw new Error(`Circular structure in "getInitialProps" result of page "${__NEXT_DATA__.page}". https://nextjs.org/docs/messages/circular-structure`); | ||
|  |             } | ||
|  |             throw err; | ||
|  |         } | ||
|  |     } | ||
|  |     render() { | ||
|  |         const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context; | ||
|  |         const disableRuntimeJS = unstable_runtimeJS === false; | ||
|  |         docComponentsRendered.NextScript = true; | ||
|  |         if (process.env.NEXT_RUNTIME !== "edge" && inAmpMode) { | ||
|  |             if (process.env.NODE_ENV === "production") { | ||
|  |                 return null; | ||
|  |             } | ||
|  |             const ampDevFiles = [ | ||
|  |                 ...buildManifest.devFiles, | ||
|  |                 ...buildManifest.polyfillFiles, | ||
|  |                 ...buildManifest.ampDevFiles | ||
|  |             ]; | ||
|  |             return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |                 children: [ | ||
|  |                     disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                         id: "__NEXT_DATA__", | ||
|  |                         type: "application/json", | ||
|  |                         nonce: this.props.nonce, | ||
|  |                         crossOrigin: this.props.crossOrigin || crossOrigin, | ||
|  |                         dangerouslySetInnerHTML: { | ||
|  |                             __html: NextScript.getInlineScriptSource(this.context) | ||
|  |                         }, | ||
|  |                         "data-ampdevmode": true | ||
|  |                     }), | ||
|  |                     ampDevFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                             src: `${assetPrefix}/_next/${file}${assetQueryString}`, | ||
|  |                             nonce: this.props.nonce, | ||
|  |                             crossOrigin: this.props.crossOrigin || crossOrigin, | ||
|  |                             "data-ampdevmode": true | ||
|  |                         }, file)) | ||
|  |                 ] | ||
|  |             }); | ||
|  |         } | ||
|  |         if (process.env.NODE_ENV !== "production") { | ||
|  |             if (this.props.crossOrigin) console.warn("Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated"); | ||
|  |         } | ||
|  |         const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, process.env.NEXT_RUNTIME !== "edge" && inAmpMode); | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { | ||
|  |             children: [ | ||
|  |                 !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                         src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`, | ||
|  |                         nonce: this.props.nonce, | ||
|  |                         crossOrigin: this.props.crossOrigin || crossOrigin | ||
|  |                     }, file)) : null, | ||
|  |                 disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)("script", { | ||
|  |                     id: "__NEXT_DATA__", | ||
|  |                     type: "application/json", | ||
|  |                     nonce: this.props.nonce, | ||
|  |                     crossOrigin: this.props.crossOrigin || crossOrigin, | ||
|  |                     dangerouslySetInnerHTML: { | ||
|  |                         __html: NextScript.getInlineScriptSource(this.context) | ||
|  |                     } | ||
|  |                 }), | ||
|  |                 disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(), | ||
|  |                 disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(), | ||
|  |                 disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files), | ||
|  |                 disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files) | ||
|  |             ] | ||
|  |         }); | ||
|  |     } | ||
|  | } | ||
|  | function Html(props) { | ||
|  |     const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontextsharedruntime.useHtmlContext)(); | ||
|  |     docComponentsRendered.Html = true; | ||
|  |     handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props); | ||
|  |     return /*#__PURE__*/ (0, _jsxruntime.jsx)("html", { | ||
|  |         ...props, | ||
|  |         lang: props.lang || locale || undefined, | ||
|  |         amp: process.env.NEXT_RUNTIME !== "edge" && inAmpMode ? "" : undefined, | ||
|  |         "data-ampdevmode": process.env.NEXT_RUNTIME !== "edge" && inAmpMode && process.env.NODE_ENV !== "production" ? "" : undefined | ||
|  |     }); | ||
|  | } | ||
|  | function Main() { | ||
|  |     const { docComponentsRendered } = (0, _htmlcontextsharedruntime.useHtmlContext)(); | ||
|  |     docComponentsRendered.Main = true; | ||
|  |     // @ts-ignore
 | ||
|  |     return /*#__PURE__*/ (0, _jsxruntime.jsx)("next-js-internal-body-render-target", {}); | ||
|  | } | ||
|  | class Document extends _react.default.Component { | ||
|  |     /** | ||
|  |    * `getInitialProps` hook returns the context object with the addition of `renderPage`. | ||
|  |    * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers | ||
|  |    */ static getInitialProps(ctx) { | ||
|  |         return ctx.defaultGetInitialProps(ctx); | ||
|  |     } | ||
|  |     render() { | ||
|  |         return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, { | ||
|  |             children: [ | ||
|  |                 /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}), | ||
|  |                 /*#__PURE__*/ (0, _jsxruntime.jsxs)("body", { | ||
|  |                     children: [ | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}), | ||
|  |                         /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {}) | ||
|  |                     ] | ||
|  |                 }) | ||
|  |             ] | ||
|  |         }); | ||
|  |     } | ||
|  | } | ||
|  | // Add a special property to the built-in `Document` component so later we can
 | ||
|  | // identify if a user customized `Document` is used or not.
 | ||
|  | const InternalFunctionDocument = function InternalFunctionDocument() { | ||
|  |     return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, { | ||
|  |         children: [ | ||
|  |             /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}), | ||
|  |             /*#__PURE__*/ (0, _jsxruntime.jsxs)("body", { | ||
|  |                 children: [ | ||
|  |                     /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}), | ||
|  |                     /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {}) | ||
|  |                 ] | ||
|  |             }) | ||
|  |         ] | ||
|  |     }); | ||
|  | }; | ||
|  | Document[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; | ||
|  | 
 | ||
|  | //# sourceMappingURL=_document.js.map
 |