{"version":3,"file":"static/chunks/239-0133f742290ed99d.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/api/image.js","webpack://_N_E/../client/image-component.tsx","webpack://_N_E/../../../src/shared/lib/amp-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/amp-mode.ts","webpack://_N_E/../../../src/shared/lib/get-img-props.ts","webpack://_N_E/../../../src/shared/lib/head.tsx","webpack://_N_E/../../../src/shared/lib/image-blur-svg.ts","webpack://_N_E/../../../src/shared/lib/image-config-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/image-config.ts","webpack://_N_E/../../../src/shared/lib/image-external.tsx","webpack://_N_E/../../../src/shared/lib/image-loader.ts","webpack://_N_E/../../../src/shared/lib/router-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/side-effect.tsx","webpack://_N_E/./node_modules/next-themes/dist/index.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconsManifest.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconContext.mjs","webpack://_N_E/./node_modules/react-icons/lib/iconBase.mjs","webpack://_N_E/./node_modules/react-icons/lib/index.mjs"],"sourcesContent":["export { default } from '../shared/lib/image-external';\nexport * from '../shared/lib/image-external';\n\n//# sourceMappingURL=image.js.map","'use client'\n\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useState,\n forwardRef,\n use,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport Head from '../shared/lib/head'\nimport { getImgProps } from '../shared/lib/get-img-props'\nimport type {\n ImageProps,\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from '../shared/lib/get-img-props'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n} from '../shared/lib/image-config'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport { ImageConfigContext } from '../shared/lib/image-config-context.shared-runtime'\nimport { warnOnce } from '../shared/lib/utils/warn-once'\nimport { RouterContext } from '../shared/lib/router-context.shared-runtime'\n\n// @ts-ignore - This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\nimport { useMergedRef } from './use-merged-ref'\n\n// This is replaced by webpack define plugin\nconst configEnv = process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete\n\nif (typeof window === 'undefined') {\n ;(globalThis as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nexport type { ImageLoaderProps }\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\ntype ImgElementWithDataProp = HTMLImageElement & {\n 'data-loaded-src': string | undefined\n}\n\ntype ImageElementProps = ImgProps & {\n unoptimized: boolean\n placeholder: PlaceholderValue\n onLoadRef: React.MutableRefObject\n onLoadingCompleteRef: React.MutableRefObject\n setBlurComplete: (b: boolean) => void\n setShowAltText: (b: boolean) => void\n sizesInput: string | undefined\n}\n\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(\n img: ImgElementWithDataProp,\n placeholder: PlaceholderValue,\n onLoadRef: React.MutableRefObject,\n onLoadingCompleteRef: React.MutableRefObject,\n setBlurComplete: (b: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined\n) {\n const src = img?.src\n if (!img || img['data-loaded-src'] === src) {\n return\n }\n img['data-loaded-src'] = src\n const p = 'decode' in img ? img.decode() : Promise.resolve()\n p.catch(() => {}).then(() => {\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true)\n }\n if (onLoadRef?.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load')\n Object.defineProperty(event, 'target', { writable: false, value: img })\n let prevented = false\n let stopped = false\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: () => prevented,\n isPropagationStopped: () => stopped,\n persist: () => {},\n preventDefault: () => {\n prevented = true\n event.preventDefault()\n },\n stopPropagation: () => {\n stopped = true\n event.stopPropagation()\n },\n })\n }\n if (onLoadingCompleteRef?.current) {\n onLoadingCompleteRef.current(img)\n }\n if (process.env.NODE_ENV !== 'production') {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n } else {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement)\n const valid = ['absolute', 'fixed', 'relative']\n if (!valid.includes(position)) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and parent element with invalid \"position\". Provided \"${position}\" should be one of ${valid\n .map(String)\n .join(',')}.`\n )\n }\n }\n if (img.height === 0) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.`\n )\n }\n }\n\n const heightModified =\n img.height.toString() !== img.getAttribute('height')\n const widthModified = img.width.toString() !== img.getAttribute('width')\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n warnOnce(\n `Image with src \"${origSrc}\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: \"auto\"' or 'height: \"auto\"' to maintain the aspect ratio.`\n )\n }\n }\n })\n}\n\nfunction getDynamicProps(\n fetchPriority?: string\n): Record {\n if (Boolean(use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return { fetchPriority }\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return { fetchpriority: fetchPriority }\n}\n\nconst ImageElement = forwardRef(\n (\n {\n src,\n srcSet,\n sizes,\n height,\n width,\n decoding,\n className,\n style,\n fetchPriority,\n placeholder,\n loading,\n unoptimized,\n fill,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n setShowAltText,\n sizesInput,\n onLoad,\n onError,\n ...rest\n },\n forwardedRef\n ) => {\n const ownRef = useCallback(\n (img: ImgElementWithDataProp | null) => {\n if (!img) {\n return\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n console.error(`Image is missing required \"src\" property:`, img)\n }\n if (img.getAttribute('alt') === null) {\n console.error(\n `Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.`\n )\n }\n }\n if (img.complete) {\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }\n },\n [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n ]\n )\n\n const ref = useMergedRef(forwardedRef, ownRef)\n\n return (\n {\n const img = event.currentTarget as ImgElementWithDataProp\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }}\n onError={(event) => {\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true)\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true)\n }\n if (onError) {\n onError(event)\n }\n }}\n />\n )\n }\n)\n\nfunction ImagePreload({\n isAppRouter,\n imgAttributes,\n}: {\n isAppRouter: boolean\n imgAttributes: ImgProps\n}) {\n const opts = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority),\n }\n\n if (isAppRouter && ReactDOM.preload) {\n // See https://github.com/facebook/react/pull/26940\n ReactDOM.preload(\n imgAttributes.src,\n // @ts-expect-error TODO: upgrade to `@types/react-dom@18.3.x`\n opts\n )\n return null\n }\n\n return (\n \n \n \n )\n}\n\n/**\n * The `Image` component is used to optimize images.\n *\n * Read more: [Next.js docs: `Image`](https://nextjs.org/docs/app/api-reference/components/image)\n */\nexport const Image = forwardRef(\n (props, forwardedRef) => {\n const pagesRouter = useContext(RouterContext)\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter\n\n const configContext = useContext(ImageConfigContext)\n const config = useMemo(() => {\n const c = configEnv || configContext || imageConfigDefault\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n return { ...c, allSizes, deviceSizes }\n }, [configContext])\n\n const { onLoad, onLoadingComplete } = props\n const onLoadRef = useRef(onLoad)\n\n useEffect(() => {\n onLoadRef.current = onLoad\n }, [onLoad])\n\n const onLoadingCompleteRef = useRef(onLoadingComplete)\n\n useEffect(() => {\n onLoadingCompleteRef.current = onLoadingComplete\n }, [onLoadingComplete])\n\n const [blurComplete, setBlurComplete] = useState(false)\n const [showAltText, setShowAltText] = useState(false)\n\n const { props: imgAttributes, meta: imgMeta } = getImgProps(props, {\n defaultLoader,\n imgConf: config,\n blurComplete,\n showAltText,\n })\n\n return (\n <>\n {\n \n }\n {imgMeta.priority ? (\n \n ) : null}\n \n )\n }\n)\n","import React from 'react'\n\nexport const AmpStateContext: React.Context = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n AmpStateContext.displayName = 'AmpStateContext'\n}\n","export function isInAmpMode({\n ampFirst = false,\n hybrid = false,\n hasQuery = false,\n} = {}): boolean {\n return ampFirst || (hybrid && hasQuery)\n}\n","import { warnOnce } from './utils/warn-once'\nimport { getImageBlurSvg } from './image-blur-svg'\nimport { imageConfigDefault } from './image-config'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderPropsWithConfig,\n} from './image-config'\n\nimport type { JSX } from 'react'\n\nexport interface StaticImageData {\n src: string\n height: number\n width: number\n blurDataURL?: string\n blurWidth?: number\n blurHeight?: number\n}\n\nexport interface StaticRequire {\n default: StaticImageData\n}\n\nexport type StaticImport = StaticRequire | StaticImageData\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'alt' | 'width' | 'height' | 'loading'\n> & {\n src: string | StaticImport\n alt: string\n width?: number | `${number}`\n height?: number | `${number}`\n fill?: boolean\n loader?: ImageLoader\n quality?: number | `${number}`\n priority?: boolean\n loading?: LoadingValue\n placeholder?: PlaceholderValue\n blurDataURL?: string\n unoptimized?: boolean\n overrideSrc?: string\n /**\n * @deprecated Use `onLoad` instead.\n * @see https://nextjs.org/docs/app/api-reference/components/image#onload\n */\n onLoadingComplete?: OnLoadingComplete\n /**\n * @deprecated Use `fill` prop instead of `layout=\"fill\"` or change import to `next/legacy/image`.\n * @see https://nextjs.org/docs/api-reference/next/legacy/image\n */\n layout?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectFit?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectPosition?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyBoundary?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyRoot?: string\n}\n\nexport type ImgProps = Omit & {\n loading: LoadingValue\n width: number | undefined\n height: number | undefined\n style: NonNullable\n sizes: string | undefined\n srcSet: string | undefined\n src: string\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\ntype LoadingValue = (typeof VALID_LOADING_VALUES)[number]\ntype ImageConfig = ImageConfigComplete & {\n allSizes: number[]\n output?: 'standalone' | 'export'\n}\n\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\n// Do not export - this is an internal type only\n// because `next.config.js` is only meant for the\n// built-in loaders, not for a custom loader() prop.\ntype ImageLoaderWithConfig = (p: ImageLoaderPropsWithConfig) => string\n\nexport type PlaceholderValue = 'blur' | 'empty' | `data:image/${string}`\nexport type OnLoad = React.ReactEventHandler | undefined\nexport type OnLoadingComplete = (img: HTMLImageElement) => void\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === 'object' &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n )\n}\n\nconst allImgs = new Map<\n string,\n { src: string; priority: boolean; placeholder: PlaceholderValue }\n>()\nlet perfObserver: PerformanceObserver | undefined\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'undefined') {\n return x\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10)\n }\n return NaN\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined\n): { widths: number[]; kind: 'w' | 'x' } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g\n const percentSizes = []\n for (let match; (match = viewportWidthRe.exec(sizes)); match) {\n percentSizes.push(parseInt(match[2]))\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: 'w',\n }\n }\n return { widths: allSizes, kind: 'w' }\n }\n if (typeof width !== 'number') {\n return { widths: deviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig\n src: string\n unoptimized: boolean\n loader: ImageLoaderWithConfig\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(config, width, sizes)\n const last = widths.length - 1\n\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n }\n}\n\n/**\n * A shared function, used on both client and server, to generate the props for .\n */\nexport function getImgProps(\n {\n src,\n sizes,\n unoptimized = false,\n priority = false,\n loading,\n className,\n quality,\n width,\n height,\n fill = false,\n style,\n overrideSrc,\n onLoad,\n onLoadingComplete,\n placeholder = 'empty',\n blurDataURL,\n fetchPriority,\n decoding = 'async',\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n ...rest\n }: ImageProps,\n _state: {\n defaultLoader: ImageLoaderWithConfig\n imgConf: ImageConfigComplete\n showAltText?: boolean\n blurComplete?: boolean\n }\n): {\n props: ImgProps\n meta: {\n unoptimized: boolean\n priority: boolean\n placeholder: NonNullable\n fill: boolean\n }\n} {\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state\n let config: ImageConfig\n let c = imgConf || imageConfigDefault\n if ('allSizes' in c) {\n config = c as ImageConfig\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n config = { ...c, allSizes, deviceSizes }\n }\n\n if (typeof defaultLoader === 'undefined') {\n throw new Error(\n 'images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'\n )\n }\n let loader: ImageLoaderWithConfig = rest.loader || defaultLoader\n\n // Remove property so it's not spread on element\n delete rest.loader\n delete (rest as any).srcSet\n\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader\n\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw new Error(\n `Image with src \"${src}\" is missing \"loader\" prop.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`\n )\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader as ImageLoader\n loader = (obj) => {\n const { config: _, ...opts } = obj\n return customImageLoader(opts)\n }\n }\n\n if (layout) {\n if (layout === 'fill') {\n fill = true\n }\n const layoutToStyle: Record | undefined> = {\n intrinsic: { maxWidth: '100%', height: 'auto' },\n responsive: { width: '100%', height: 'auto' },\n }\n const layoutToSizes: Record = {\n responsive: '100vw',\n fill: '100vw',\n }\n const layoutStyle = layoutToStyle[layout]\n if (layoutStyle) {\n style = { ...style, ...layoutStyle }\n }\n const layoutSizes = layoutToSizes[layout]\n if (layoutSizes && !sizes) {\n sizes = layoutSizes\n }\n }\n\n let staticSrc = ''\n let widthInt = getInt(width)\n let heightInt = getInt(height)\n let blurWidth: number | undefined\n let blurHeight: number | undefined\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n\n blurWidth = staticImageData.blurWidth\n blurHeight = staticImageData.blurHeight\n blurDataURL = blurDataURL || staticImageData.blurDataURL\n staticSrc = staticImageData.src\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width\n heightInt = staticImageData.height\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width\n heightInt = Math.round(staticImageData.height * ratio)\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height\n widthInt = Math.round(staticImageData.width * ratio)\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc\n\n let isLazy =\n !priority && (loading === 'lazy' || typeof loading === 'undefined')\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n if (config.unoptimized) {\n unoptimized = true\n }\n if (\n isDefaultLoader &&\n !config.dangerouslyAllowSVG &&\n src.split('?', 1)[0].endsWith('.svg')\n ) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true\n }\n\n const qualityInt = getInt(quality)\n\n if (process.env.NODE_ENV !== 'production') {\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true\n } else {\n if (fill) {\n if (width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (style?.position && style.position !== 'absolute') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`\n )\n }\n if (style?.width && style.width !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`\n )\n }\n if (style?.height && style.height !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`\n )\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`\n )\n } else if (isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${width}\".`\n )\n }\n if (typeof heightInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`\n )\n } else if (isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${height}\".`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (\n placeholder !== 'empty' &&\n placeholder !== 'blur' &&\n !placeholder.startsWith('data:image/')\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${placeholder}\".`\n )\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`\n )\n }\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = ['jpeg', 'png', 'webp', 'avif'] // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n ','\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`\n )\n }\n if ('ref' in rest) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`\n )\n }\n\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n })\n let url: URL | undefined\n try {\n url = new URL(urlStr)\n } catch (err) {}\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`\n )\n }\n }\n\n if (onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`\n )\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`\n )\n }\n }\n\n if (\n typeof window !== 'undefined' &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || ''\n const lcpImage = allImgs.get(imgSrc)\n if (\n lcpImage &&\n !lcpImage.priority &&\n lcpImage.placeholder === 'empty' &&\n !lcpImage.src.startsWith('data:') &&\n !lcpImage.src.startsWith('blob:')\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`\n )\n }\n }\n })\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true,\n })\n } catch (err) {\n // Log error but don't crash the app\n console.error(err)\n }\n }\n }\n const imgStyle = Object.assign(\n fill\n ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition,\n }\n : {},\n showAltText ? {} : { color: 'transparent' },\n style\n )\n\n const backgroundImage =\n !blurComplete && placeholder !== 'empty'\n ? placeholder === 'blur'\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '', // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${placeholder}\")` // assume `data:image/`\n : null\n\n let placeholderStyle = backgroundImage\n ? {\n backgroundSize: imgStyle.objectFit || 'cover',\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage,\n }\n : {}\n\n if (process.env.NODE_ENV === 'development') {\n if (\n placeholderStyle.backgroundImage &&\n placeholder === 'blur' &&\n blurDataURL?.startsWith('/')\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = `url(\"${blurDataURL}\")`\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl: URL\n try {\n fullUrl = new URL(imgAttributes.src)\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href)\n }\n allImgs.set(fullUrl.href, { src, priority, placeholder })\n }\n }\n\n const props: ImgProps = {\n ...rest,\n loading: isLazy ? 'lazy' : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src,\n }\n const meta = { unoptimized, priority, placeholder, fill }\n return { props, meta }\n}\n","'use client'\n\nimport React, { useContext, type JSX } from 'react'\nimport Effect from './side-effect'\nimport { AmpStateContext } from './amp-context.shared-runtime'\nimport { HeadManagerContext } from './head-manager-context.shared-runtime'\nimport { isInAmpMode } from './amp-mode'\nimport { warnOnce } from './utils/warn-once'\n\ntype WithInAmpMode = {\n inAmpMode?: boolean\n}\n\nexport function defaultHead(inAmpMode = false): JSX.Element[] {\n const head = []\n if (!inAmpMode) {\n head.push(\n \n )\n }\n return head\n}\n\nfunction onlyReactElement(\n list: Array>,\n child: React.ReactElement | number | string\n): Array> {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list\n }\n // Adds support for React.Fragment\n if (child.type === React.Fragment) {\n return list.concat(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n React.Children.toArray(child.props.children).reduce(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n (\n fragmentList: Array>,\n fragmentChild: React.ReactElement | number | string\n ): Array> => {\n if (\n typeof fragmentChild === 'string' ||\n typeof fragmentChild === 'number'\n ) {\n return fragmentList\n }\n return fragmentList.concat(fragmentChild)\n },\n []\n )\n )\n }\n return list.concat(child)\n}\n\nconst METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']\n\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/\nfunction unique() {\n const keys = new Set()\n const tags = new Set()\n const metaTypes = new Set()\n const metaCategories: { [metatype: string]: Set<string> } = {}\n\n return (h: React.ReactElement<any>) => {\n let isUnique = true\n let hasKey = false\n\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true\n const key = h.key.slice(h.key.indexOf('$') + 1)\n if (keys.has(key)) {\n isUnique = false\n } else {\n keys.add(key)\n }\n }\n\n // eslint-disable-next-line default-case\n switch (h.type) {\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false\n } else {\n tags.add(h.type)\n }\n break\n case 'meta':\n for (let i = 0, len = METATYPES.length; i < len; i++) {\n const metatype = METATYPES[i]\n if (!h.props.hasOwnProperty(metatype)) continue\n\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false\n } else {\n metaTypes.add(metatype)\n }\n } else {\n const category = h.props[metatype]\n const categories = metaCategories[metatype] || new Set()\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false\n } else {\n categories.add(category)\n metaCategories[metatype] = categories\n }\n }\n }\n break\n }\n\n return isUnique\n }\n}\n\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */\nfunction reduceComponents<T extends {} & WithInAmpMode>(\n headChildrenElements: Array<React.ReactElement<any>>,\n props: T\n) {\n const { inAmpMode } = props\n return headChildrenElements\n .reduce(onlyReactElement, [])\n .reverse()\n .concat(defaultHead(inAmpMode).reverse())\n .filter(unique())\n .reverse()\n .map((c: React.ReactElement<any>, i: number) => {\n const key = c.key || i\n if (\n process.env.NODE_ENV !== 'development' &&\n process.env.__NEXT_OPTIMIZE_FONTS &&\n !inAmpMode\n ) {\n if (\n c.type === 'link' &&\n c.props['href'] &&\n // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.\n ['https://fonts.googleapis.com/css', 'https://use.typekit.net/'].some(\n (url) => c.props['href'].startsWith(url)\n )\n ) {\n const newProps = { ...(c.props || {}) }\n newProps['data-href'] = newProps['href']\n newProps['href'] = undefined\n\n // Add this attribute to make it easy to identify optimized tags\n newProps['data-optimized-fonts'] = true\n\n return React.cloneElement(c, newProps)\n }\n }\n if (process.env.NODE_ENV === 'development') {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src']\n ? `<script> tag with src=\"${c.props['src']}\"`\n : `inline <script>`\n warnOnce(\n `Do not add <script> tags using next/head (see ${srcMessage}). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component`\n )\n } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') {\n warnOnce(\n `Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"${c.props['href']}\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component`\n )\n }\n }\n return React.cloneElement(c, { key })\n })\n}\n\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */\nfunction Head({ children }: { children: React.ReactNode }) {\n const ampState = useContext(AmpStateContext)\n const headManager = useContext(HeadManagerContext)\n return (\n <Effect\n reduceComponentsToState={reduceComponents}\n headManager={headManager}\n inAmpMode={isInAmpMode(ampState)}\n >\n {children}\n </Effect>\n )\n}\n\nexport default Head\n","/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */\nexport function getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit,\n}: {\n widthInt?: number\n heightInt?: number\n blurWidth?: number\n blurHeight?: number\n blurDataURL: string\n objectFit?: string\n}): string {\n const std = 20\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt\n\n const viewBox =\n svgWidth && svgHeight ? `viewBox='0 0 ${svgWidth} ${svgHeight}'` : ''\n const preserveAspectRatio = viewBox\n ? 'none'\n : objectFit === 'contain'\n ? 'xMidYMid'\n : objectFit === 'cover'\n ? 'xMidYMid slice'\n : 'none'\n\n return `%3Csvg xmlns='http://www.w3.org/2000/svg' ${viewBox}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${preserveAspectRatio}' style='filter: url(%23b);' href='${blurDataURL}'/%3E%3C/svg%3E`\n}\n","import React from 'react'\nimport type { ImageConfigComplete } from './image-config'\nimport { imageConfigDefault } from './image-config'\n\nexport const ImageConfigContext =\n React.createContext<ImageConfigComplete>(imageConfigDefault)\n\nif (process.env.NODE_ENV !== 'production') {\n ImageConfigContext.displayName = 'ImageConfigContext'\n}\n","export const VALID_LOADERS = [\n 'default',\n 'imgix',\n 'cloudinary',\n 'akamai',\n 'custom',\n] as const\n\nexport type LoaderValue = (typeof VALID_LOADERS)[number]\n\nexport type ImageLoaderProps = {\n src: string\n width: number\n quality?: number\n}\n\nexport type ImageLoaderPropsWithConfig = ImageLoaderProps & {\n config: Readonly<ImageConfig>\n}\n\nexport type LocalPattern = {\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\nexport type RemotePattern = {\n /**\n * Must be `http` or `https`.\n */\n protocol?: 'http' | 'https'\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single subdomain.\n * Double `**` matches any number of subdomains.\n */\n hostname: string\n\n /**\n * Can be literal port such as `8080` or empty string\n * meaning no port.\n */\n port?: string\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\ntype ImageFormat = 'image/avif' | 'image/webp'\n\n/**\n * Image configurations\n *\n * @see [Image configuration options](https://nextjs.org/docs/api-reference/next/image#configuration-options)\n */\nexport type ImageConfigComplete = {\n /** @see [Device sizes documentation](https://nextjs.org/docs/api-reference/next/image#device-sizes) */\n deviceSizes: number[]\n\n /** @see [Image sizing documentation](https://nextjs.org/docs/app/building-your-application/optimizing/images#image-sizing) */\n imageSizes: number[]\n\n /** @see [Image loaders configuration](https://nextjs.org/docs/api-reference/next/legacy/image#loader) */\n loader: LoaderValue\n\n /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/legacy/image#loader-configuration) */\n path: string\n\n /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) */\n loaderFile: string\n\n /**\n * @deprecated Use `remotePatterns` instead.\n */\n domains: string[]\n\n /** @see [Disable static image import configuration](https://nextjs.org/docs/api-reference/next/image#disable-static-imports) */\n disableStaticImages: boolean\n\n /** @see [Cache behavior](https://nextjs.org/docs/api-reference/next/image#caching-behavior) */\n minimumCacheTTL: number\n\n /** @see [Acceptable formats](https://nextjs.org/docs/api-reference/next/image#acceptable-formats) */\n formats: ImageFormat[]\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n dangerouslyAllowSVG: boolean\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n contentSecurityPolicy: string\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n contentDispositionType: 'inline' | 'attachment'\n\n /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#remotepatterns) */\n remotePatterns: RemotePattern[]\n\n /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#localPatterns) */\n localPatterns: LocalPattern[] | undefined\n\n /** @see [Unoptimized](https://nextjs.org/docs/api-reference/next/image#unoptimized) */\n unoptimized: boolean\n}\n\nexport type ImageConfig = Partial<ImageConfigComplete>\n\nexport const imageConfigDefault: ImageConfigComplete = {\n deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],\n path: '/_next/image',\n loader: 'default',\n loaderFile: '',\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: ['image/webp'],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,\n contentDispositionType: 'attachment',\n localPatterns: undefined, // default: allow all local images\n remotePatterns: [], // default: allow no remote images\n unoptimized: false,\n}\n","import type { ImageConfigComplete, ImageLoaderProps } from './image-config'\nimport type { ImageProps, ImageLoader, StaticImageData } from './get-img-props'\n\nimport { getImgProps } from './get-img-props'\nimport { Image } from '../../client/image-component'\n\n// @ts-ignore - This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\n\n/**\n * For more advanced use cases, you can call `getImageProps()`\n * to get the props that would be passed to the underlying `<img>` element,\n * and instead pass to them to another component, style, canvas, etc.\n *\n * Read more: [Next.js docs: `getImageProps`](https://nextjs.org/docs/app/api-reference/components/image#getimageprops)\n */\nexport function getImageProps(imgProps: ImageProps) {\n const { props } = getImgProps(imgProps, {\n defaultLoader,\n // This is replaced by webpack define plugin\n imgConf: process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete,\n })\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)) {\n if (value === undefined) {\n delete props[key as keyof typeof props]\n }\n }\n return { props }\n}\n\nexport default Image\n\nexport type { ImageProps, ImageLoaderProps, ImageLoader, StaticImageData }\n","import type { ImageLoaderPropsWithConfig } from './image-config'\n\nfunction defaultLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = []\n\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src')\n if (!width) missingValues.push('width')\n\n if (missingValues.length > 0) {\n throw new Error(\n `Next Image Optimization requires ${missingValues.join(\n ', '\n )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { src, width, quality }\n )}`\n )\n }\n\n if (src.startsWith('//')) {\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`\n )\n }\n\n if (src.startsWith('/') && config.localPatterns) {\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasLocalMatch } = require('./match-local-pattern')\n if (!hasLocalMatch(config.localPatterns, src)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\` does not match \\`images.localPatterns\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\n )\n }\n }\n }\n\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc: URL\n try {\n parsedSrc = new URL(src)\n } catch (err) {\n console.error(err)\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`\n )\n }\n\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasRemoteMatch } = require('./match-remote-pattern')\n if (!hasRemoteMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`\n )\n }\n }\n }\n }\n\n return `${config.path}?url=${encodeURIComponent(src)}&w=${width}&q=${\n quality || 75\n }${\n src.startsWith('/_next/static/media/') && process.env.NEXT_DEPLOYMENT_ID\n ? `&dpl=${process.env.NEXT_DEPLOYMENT_ID}`\n : ''\n }`\n}\n\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true\n\nexport default defaultLoader\n","import React from 'react'\nimport type { NextRouter } from './router/router'\n\nexport const RouterContext = React.createContext<NextRouter | null>(null)\n\nif (process.env.NODE_ENV !== 'production') {\n RouterContext.displayName = 'RouterContext'\n}\n","import type React from 'react'\nimport { Children, useEffect, useLayoutEffect, type JSX } from 'react'\n\ntype State = JSX.Element[] | undefined\n\nexport type SideEffectProps = {\n reduceComponentsToState: <T extends {}>(\n components: Array<React.ReactElement<any>>,\n props: T\n ) => State\n handleStateChange?: (state: State) => void\n headManager: any\n inAmpMode?: boolean\n children: React.ReactNode\n}\n\nconst isServer = typeof window === 'undefined'\nconst useClientOnlyLayoutEffect = isServer ? () => {} : useLayoutEffect\nconst useClientOnlyEffect = isServer ? () => {} : useEffect\n\nexport default function SideEffect(props: SideEffectProps) {\n const { headManager, reduceComponentsToState } = props\n\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = Children.toArray(\n Array.from(headManager.mountedInstances as Set<React.ReactNode>).filter(\n Boolean\n )\n ) as React.ReactElement[]\n headManager.updateHead(reduceComponentsToState(headElements, props))\n }\n }\n\n if (isServer) {\n headManager?.mountedInstances?.add(props.children)\n emitChange()\n }\n\n useClientOnlyLayoutEffect(() => {\n headManager?.mountedInstances?.add(props.children)\n return () => {\n headManager?.mountedInstances?.delete(props.children)\n }\n })\n\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(() => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n return () => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n }\n })\n\n useClientOnlyEffect(() => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n return () => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n }\n })\n\n return null\n}\n","\"use client\";import*as t from\"react\";var L=(e,r,s,u,d,m,l,h)=>{let c=document.documentElement,v=[\"light\",\"dark\"];function p(i){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y===\"class\",S=k&&m?d.map(f=>m[f]||f):d;k?(c.classList.remove(...S),c.classList.add(i)):c.setAttribute(y,i)}),R(i)}function R(i){h&&v.includes(i)&&(c.style.colorScheme=i)}function a(){return window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"}if(u)p(u);else try{let i=localStorage.getItem(r)||s,y=l&&i===\"system\"?a():i;p(y)}catch(i){}};var M=[\"light\",\"dark\"],Q=\"(prefers-color-scheme: dark)\",U=typeof window==\"undefined\",E=t.createContext(void 0),N={setTheme:e=>{},themes:[]},z=()=>{var e;return(e=t.useContext(E))!=null?e:N},J=e=>t.useContext(E)?t.createElement(t.Fragment,null,e.children):t.createElement(_,{...e}),V=[\"light\",\"dark\"],_=({forcedTheme:e,disableTransitionOnChange:r=!1,enableSystem:s=!0,enableColorScheme:u=!0,storageKey:d=\"theme\",themes:m=V,defaultTheme:l=s?\"system\":\"light\",attribute:h=\"data-theme\",value:c,children:v,nonce:p,scriptProps:R})=>{let[a,i]=t.useState(()=>b(d,l)),[w,y]=t.useState(()=>b(d)),k=c?Object.values(c):m,S=t.useCallback(n=>{let o=n;if(!o)return;n===\"system\"&&s&&(o=I());let T=c?c[o]:o,C=r?W(p):null,P=document.documentElement,x=g=>{g===\"class\"?(P.classList.remove(...k),T&&P.classList.add(T)):g.startsWith(\"data-\")&&(T?P.setAttribute(g,T):P.removeAttribute(g))};if(Array.isArray(h)?h.forEach(x):x(h),u){let g=M.includes(l)?l:null,O=M.includes(o)?o:g;P.style.colorScheme=O}C==null||C()},[p]),f=t.useCallback(n=>{let o=typeof n==\"function\"?n(a):n;i(o);try{localStorage.setItem(d,o)}catch(T){}},[a]),A=t.useCallback(n=>{let o=I(n);y(o),a===\"system\"&&s&&!e&&S(\"system\")},[a,e]);t.useEffect(()=>{let n=window.matchMedia(Q);return n.addListener(A),A(n),()=>n.removeListener(A)},[A]),t.useEffect(()=>{let n=o=>{o.key===d&&(o.newValue?i(o.newValue):f(l))};return window.addEventListener(\"storage\",n),()=>window.removeEventListener(\"storage\",n)},[f]),t.useEffect(()=>{S(e!=null?e:a)},[e,a]);let D=t.useMemo(()=>({theme:a,setTheme:f,forcedTheme:e,resolvedTheme:a===\"system\"?w:a,themes:s?[...m,\"system\"]:m,systemTheme:s?w:void 0}),[a,f,e,w,s,m]);return t.createElement(E.Provider,{value:D},t.createElement(H,{forcedTheme:e,storageKey:d,attribute:h,enableSystem:s,enableColorScheme:u,defaultTheme:l,value:c,themes:m,nonce:p,scriptProps:R}),v)},H=t.memo(({forcedTheme:e,storageKey:r,attribute:s,enableSystem:u,enableColorScheme:d,defaultTheme:m,value:l,themes:h,nonce:c,scriptProps:v})=>{let p=JSON.stringify([s,r,m,e,h,l,u,d]).slice(1,-1);return t.createElement(\"script\",{...v,suppressHydrationWarning:!0,nonce:typeof window==\"undefined\"?c:\"\",dangerouslySetInnerHTML:{__html:`(${L.toString()})(${p})`}})}),b=(e,r)=>{if(U)return;let s;try{s=localStorage.getItem(e)||void 0}catch(u){}return s||r},W=e=>{let r=document.createElement(\"style\");return e&&r.setAttribute(\"nonce\",e),r.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(r),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(r)},1)}},I=e=>(e||(e=window.matchMedia(Q)),e.matches?\"dark\":\"light\");export{J as ThemeProvider,z as useTheme};\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"fa6\",\n \"name\": \"Font Awesome 6\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"pi\",\n \"name\": \"Phosphor Icons\",\n \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n },\n {\n \"id\": \"lia\",\n \"name\": \"Icons8 Line Awesome\",\n \"projectUrl\": \"https://icons8.com/line-awesome\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","export * from \"./iconsManifest.mjs\";\nexport * from \"./iconBase.mjs\";\nexport * from \"./iconContext.mjs\";"],"names":["Image","configEnv","process","handleLoading","img","placeholder","onLoadRef","onLoadingCompleteRef","setBlurComplete","unoptimized","sizesInput","src","decode","Promise","resolve","catch","then","parentElement","current","event","Event","Object","defineProperty","writable","value","prevented","stopped","nativeEvent","currentTarget","target","isDefaultPrevented","isPropagationStopped","persist","preventDefault","stopPropagation","getDynamicProps","fetchPriority","use","Boolean","fetchpriority","window","globalThis","__NEXT_IMAGE_IMPORTED","ImageElement","forwardRef","forwardedRef","srcSet","sizes","height","width","decoding","className","style","loading","fill","setShowAltText","onLoad","onError","rest","ownRef","useCallback","complete","ref","useMergedRef","data-nimg","ImagePreload","isAppRouter","imgAttributes","opts","as","imageSrcSet","imageSizes","crossOrigin","referrerPolicy","ReactDOM","preload","Head","link","rel","href","undefined","props","pagesRouter","useContext","RouterContext","configContext","ImageConfigContext","config","useMemo","c","imageConfigDefault","allSizes","deviceSizes","sort","a","b","onLoadingComplete","useRef","useEffect","blurComplete","useState","showAltText","meta","imgMeta","getImgProps","defaultLoader","imgConf","priority","AmpStateContext","React","createContext","isInAmpMode","ampFirst","hybrid","hasQuery","isStaticRequire","default","getInt","x","Number","isFinite","NaN","test","parseInt","_state","blurWidth","blurHeight","quality","overrideSrc","blurDataURL","layout","objectFit","objectPosition","lazyBoundary","lazyRoot","loader","isDefaultLoader","customImageLoader","_","obj","layoutStyle","intrinsic","maxWidth","responsive","layoutSizes","staticSrc","widthInt","heightInt","isStaticImport","isStaticImageData","staticImageData","JSON","stringify","ratio","Math","round","isLazy","startsWith","dangerouslyAllowSVG","split","endsWith","qualityInt","imgStyle","assign","position","left","top","right","bottom","color","backgroundImage","getImageBlurSvg","backgroundSize","backgroundPosition","backgroundRepeat","generateImgAttrs","widths","kind","getWidths","viewportWidthRe","percentSizes","match","exec","push","length","smallestRatio","min","filter","s","Set","map","find","p","w","last","i","join","placeholderStyle","defaultHead","inAmpMode","head","charSet","name","content","onlyReactElement","list","child","type","Fragment","concat","Children","toArray","children","reduce","fragmentList","fragmentChild","METATYPES","reduceComponents","headChildrenElements","reverse","unique","keys","tags","metaTypes","metaCategories","isUnique","hasKey","h","key","indexOf","slice","has","add","len","metatype","hasOwnProperty","category","categories","env","__NEXT_OPTIMIZE_FONTS","some","url","newProps","cloneElement","ampState","headManager","HeadManagerContext","Effect","reduceComponentsToState","svgWidth","svgHeight","viewBox","std","preserveAspectRatio","VALID_LOADERS","path","loaderFile","domains","disableStaticImages","minimumCacheTTL","formats","contentSecurityPolicy","contentDispositionType","localPatterns","remotePatterns","getImageProps","imgProps","entries","encodeURIComponent","__next_img_default","SideEffect","isServer","useClientOnlyLayoutEffect","useLayoutEffect","useClientOnlyEffect","emitChange","mountedInstances","headElements","Array","from","updateHead","delete","_pendingUpdate","L","e","r","u","d","m","l","document","documentElement","v","isArray","forEach","y","k","S","f","classList","remove","setAttribute","R","includes","colorScheme","localStorage","getItem","matchMedia","matches","M","Q","U","E","t","N","setTheme","themes","z","J","V","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","storageKey","defaultTheme","attribute","nonce","scriptProps","values","n","o","I","T","C","W","P","g","removeAttribute","O","setItem","A","addListener","removeListener","newValue","addEventListener","removeEventListener","D","theme","resolvedTheme","systemTheme","Provider","H","suppressHydrationWarning","dangerouslySetInnerHTML","__html","toString","createElement","appendChild","createTextNode","getComputedStyle","body","setTimeout","removeChild","DefaultContext","size","attr","_excluded","_extends","bind","arguments","source","prototype","call","apply","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","enumerable","_objectSpread","_toPropertyKey","_toPrimitive","Symbol","toPrimitive","String","configurable","getOwnPropertyDescriptors","defineProperties","GenIcon","data","Tree2Element","tree","node","tag","IconBase","elem","conf","title","svgProps","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","computedSize","stroke","strokeWidth","xmlns","IconContext","Consumer"],"sourceRoot":"","ignoreList":[0,13,14,15,16,17]}