{"version":3,"file":"static/chunks/5675-627bac7c96802dfc.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/client/image.js","webpack://_N_E/./node_modules/next/dist/client/use-intersection.js","webpack://_N_E/./node_modules/next/image.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Image;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _head = _interopRequireDefault(require(\"../shared/lib/head\"));\nvar _imageConfig = require(\"../server/image-config\");\nvar _useIntersection = require(\"./use-intersection\");\nvar _imageConfigContext = require(\"../shared/lib/image-config-context\");\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {\n };\n if (obj != null) {\n for(var key in obj){\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {\n };\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {\n };\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {\n };\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for(i = 0; i < sourceSymbolKeys.length; i++){\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {\n };\n var target = {\n };\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nconst configEnv = process.env.__NEXT_IMAGE_OPTS;\nconst loadedImageURLs = new Set();\nconst allImgs = new Map();\nlet perfObserver;\nconst emptyDataURL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nif (typeof window === 'undefined') {\n global.__NEXT_IMAGE_IMPORTED = true;\n}\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\nconst loaders = new Map([\n [\n 'default',\n defaultLoader\n ],\n [\n 'imgix',\n imgixLoader\n ],\n [\n 'cloudinary',\n cloudinaryLoader\n ],\n [\n 'akamai',\n akamaiLoader\n ],\n [\n 'custom',\n customLoader\n ], \n]);\nconst VALID_LAYOUT_VALUES = [\n 'fill',\n 'fixed',\n 'intrinsic',\n 'responsive',\n undefined, \n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nfunction getWidths({ deviceSizes , allSizes }, width, layout, sizes) {\n if (sizes && (layout === 'fill' || layout === 'responsive')) {\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 ),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number' || layout === 'fill' || layout === 'responsive') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > 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 [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w\n ) || allSizes[allSizes.length - 1]\n )), \n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs({ config , src , unoptimized , layout , width , quality , sizes , loader }) {\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths , kind } = getWidths(config, width, layout, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>`${loader({\n config,\n src,\n quality,\n width: w\n })} ${kind === 'w' ? w : i + 1}${kind}`\n ).join(', '),\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({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getInt(x) {\n if (typeof x === 'number') {\n return x;\n }\n if (typeof x === 'string') {\n return parseInt(x, 10);\n }\n return undefined;\n}\nfunction defaultImageLoader(loaderProps) {\n var ref;\n const loaderKey = ((ref = loaderProps.config) === null || ref === void 0 ? void 0 : ref.loader) || 'default';\n const load = loaders.get(loaderKey);\n if (load) {\n return load(loaderProps);\n }\n throw new Error(`Unknown \"loader\" found in \"next.config.js\". Expected: ${_imageConfig.VALID_LOADERS.join(', ')}. Received: ${loaderKey}`);\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(imgRef, src, layout, placeholder, onLoadingCompleteRef) {\n const handleLoad = ()=>{\n const img = imgRef.current;\n if (!img) {\n return;\n }\n if (img.src !== emptyDataURL) {\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{\n }).then(()=>{\n if (!imgRef.current) {\n return;\n }\n loadedImageURLs.add(src);\n if (placeholder === 'blur') {\n img.style.filter = '';\n img.style.backgroundSize = '';\n img.style.backgroundImage = '';\n img.style.backgroundPosition = '';\n }\n if (onLoadingCompleteRef.current) {\n const { naturalWidth , naturalHeight } = img;\n // Pass back read-only primitive values but not the\n // underlying DOM element because it could be misused.\n onLoadingCompleteRef.current({\n naturalWidth,\n naturalHeight\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n var ref;\n if ((ref = img.parentElement) === null || ref === void 0 ? void 0 : ref.parentElement) {\n const parent = getComputedStyle(img.parentElement.parentElement);\n if (!parent.position) {\n // The parent has not been rendered to the dom yet and therefore it has no position. Skip the warnings for such cases.\n } else if (layout === 'responsive' && parent.display === 'flex') {\n console.warn(`Image with src \"${src}\" may not render properly as a child of a flex container. Consider wrapping the image with a div to configure the width.`);\n } else if (layout === 'fill' && parent.position !== 'relative' && parent.position !== 'fixed') {\n console.warn(`Image with src \"${src}\" may not render properly with a parent using position:\"${parent.position}\". Consider changing the parent style to position:\"relative\" with a width and height.`);\n }\n }\n }\n });\n }\n };\n if (imgRef.current) {\n if (imgRef.current.complete) {\n // If the real image fails to load, this will still remove the placeholder.\n // This is the desired behavior for now, and will be revisited when error\n // handling is worked on for the image component itself.\n handleLoad();\n } else {\n imgRef.current.onload = handleLoad;\n }\n }\n}\nfunction Image(_param) {\n var { src , sizes , unoptimized =false , priority =false , loading , lazyRoot =null , lazyBoundary ='200px' , className , quality , width , height , objectFit , objectPosition , onLoadingComplete , loader =defaultImageLoader , placeholder ='empty' , blurDataURL } = _param, all = _objectWithoutProperties(_param, [\"src\", \"sizes\", \"unoptimized\", \"priority\", \"loading\", \"lazyRoot\", \"lazyBoundary\", \"className\", \"quality\", \"width\", \"height\", \"objectFit\", \"objectPosition\", \"onLoadingComplete\", \"loader\", \"placeholder\", \"blurDataURL\"]);\n const imgRef = (0, _react).useRef(null);\n const configContext = (0, _react).useContext(_imageConfigContext.ImageConfigContext);\n const config = (0, _react).useMemo(()=>{\n const c = configEnv || configContext || _imageConfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b\n );\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b\n );\n return _objectSpread({\n }, c, {\n allSizes,\n deviceSizes\n });\n }, [\n configContext\n ]);\n let rest = all;\n let layout = sizes ? 'responsive' : 'intrinsic';\n if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout;\n // Remove property so it's not spread into image:\n delete rest['layout'];\n }\n let staticSrc = '';\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(`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(staticImageData)}`);\n }\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!layout || layout !== 'fill') {\n height = height || staticImageData.height;\n width = width || staticImageData.width;\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(`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(staticImageData)}`);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n const widthInt = getInt(width);\n const heightInt = getInt(height);\n const qualityInt = getInt(quality);\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (typeof window !== 'undefined' && loadedImageURLs.has(src)) {\n isLazy = false;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n throw new Error(`Image is missing required \"src\" property. Make sure you pass \"src\" in props to the \\`next/image\\` component. Received: ${JSON.stringify({\n width,\n height,\n quality\n })}`);\n }\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n throw new Error(`Image with src \"${src}\" has invalid \"layout\" property. Provided \"${layout}\" should be one of ${VALID_LAYOUT_VALUES.map(String).join(',')}.`);\n }\n if (typeof widthInt !== 'undefined' && isNaN(widthInt) || typeof heightInt !== 'undefined' && isNaN(heightInt)) {\n throw new Error(`Image with src \"${src}\" has invalid \"width\" or \"height\" property. These should be numeric values.`);\n }\n if (layout === 'fill' && (width || height)) {\n console.warn(`Image with src \"${src}\" and \"layout='fill'\" has unused properties assigned. Please remove \"width\" and \"height\".`);\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(`Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(String).join(',')}.`);\n }\n if (priority && loading === 'lazy') {\n throw new Error(`Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`);\n }\n if (sizes && layout !== 'fill' && layout !== 'responsive') {\n console.warn(`Image with src \"${src}\" has \"sizes\" property but it will be ignored. Only use \"sizes\" with \"layout='fill'\" or \"layout='responsive'\".`);\n }\n if (placeholder === 'blur') {\n if (layout !== 'fill' && (widthInt || 0) * (heightInt || 0) < 1600) {\n console.warn(`Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder='blur'\" property to improve performance.`);\n }\n if (!blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw new Error(`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 - 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 console.warn(`Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoadingComplete\" property instead.`);\n }\n if ('style' in rest) {\n console.warn(`Image with src \"${src}\" is using unsupported \"style\" property. Please use the \"className\" property instead.`);\n }\n if (!unoptimized && loader !== defaultImageLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {\n }\n if (urlStr === src || url && url.pathname === src && !url.search) {\n console.warn(`Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`);\n }\n }\n if (typeof window !== 'undefined' && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var ref;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry === null || entry === void 0 ? void 0 : (ref = entry.element) === null || ref === void 0 ? void 0 : ref.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder !== 'blur' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n console.warn(`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.` + `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`);\n }\n }\n });\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n }\n }\n const [setIntersection, isIntersected] = (0, _useIntersection).useIntersection({\n rootRef: lazyRoot,\n rootMargin: lazyBoundary,\n disabled: !isLazy\n });\n const isVisible = !isLazy || isIntersected;\n const wrapperStyle = {\n boxSizing: 'border-box',\n display: 'block',\n overflow: 'hidden',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n const sizerStyle = {\n boxSizing: 'border-box',\n display: 'block',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n let hasSizer = false;\n let sizerSvgUrl;\n const imgStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n objectFit,\n objectPosition\n };\n const blurStyle = placeholder === 'blur' ? {\n filter: 'blur(20px)',\n backgroundSize: objectFit || 'cover',\n backgroundImage: `url(\"${blurDataURL}\")`,\n backgroundPosition: objectPosition || '0% 0%'\n } : {\n };\n if (layout === 'fill') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'absolute';\n wrapperStyle.top = 0;\n wrapperStyle.left = 0;\n wrapperStyle.bottom = 0;\n wrapperStyle.right = 0;\n } else if (typeof widthInt !== 'undefined' && typeof heightInt !== 'undefined') {\n // \n const quotient = heightInt / widthInt;\n const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`;\n if (layout === 'responsive') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'relative';\n hasSizer = true;\n sizerStyle.paddingTop = paddingTop;\n } else if (layout === 'intrinsic') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.maxWidth = '100%';\n hasSizer = true;\n sizerStyle.maxWidth = '100%';\n sizerSvgUrl = `data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27${widthInt}%27%20height=%27${heightInt}%27/%3e`;\n } else if (layout === 'fixed') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.width = widthInt;\n wrapperStyle.height = heightInt;\n }\n } else {\n // \n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`Image with src \"${src}\" must use \"width\" and \"height\" properties or \"layout='fill'\" property.`);\n }\n }\n let imgAttributes = {\n src: emptyDataURL,\n srcSet: undefined,\n sizes: undefined\n };\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n }\n let srcString = src;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl;\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, {\n src,\n priority,\n placeholder\n });\n }\n }\n let imageSrcSetPropName = 'imagesrcset';\n let imageSizesPropName = 'imagesizes';\n if (process.env.__NEXT_REACT_ROOT) {\n imageSrcSetPropName = 'imageSrcSet';\n imageSizesPropName = 'imageSizes';\n }\n const linkProps = {\n // Note: imagesrcset and imagesizes are not in the link element type with react 17.\n [imageSrcSetPropName]: imgAttributes.srcSet,\n [imageSizesPropName]: imgAttributes.sizes\n };\n const useLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;\n const onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);\n (0, _react).useEffect(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n useLayoutEffect(()=>{\n setIntersection(imgRef.current);\n }, [\n setIntersection\n ]);\n (0, _react).useEffect(()=>{\n handleLoading(imgRef, srcString, layout, placeholder, onLoadingCompleteRef);\n }, [\n srcString,\n layout,\n placeholder,\n isVisible\n ]);\n return(/*#__PURE__*/ _react.default.createElement(\"span\", {\n style: wrapperStyle\n }, hasSizer ? /*#__PURE__*/ _react.default.createElement(\"span\", {\n style: sizerStyle\n }, sizerSvgUrl ? /*#__PURE__*/ _react.default.createElement(\"img\", {\n style: {\n display: 'block',\n maxWidth: '100%',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n },\n alt: \"\",\n \"aria-hidden\": true,\n src: sizerSvgUrl\n }) : null) : null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({\n }, rest, imgAttributes, {\n decoding: \"async\",\n \"data-nimg\": layout,\n className: className,\n ref: imgRef,\n style: _objectSpread({\n }, imgStyle, blurStyle)\n })), isLazy && /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({\n }, rest, generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n }), {\n decoding: \"async\",\n \"data-nimg\": layout,\n style: imgStyle,\n className: className,\n // @ts-ignore - TODO: upgrade to `@types/react@17`\n loading: loading || 'lazy'\n }))), priority ? // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"link\", Object.assign({\n key: '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes,\n rel: \"preload\",\n as: \"image\",\n href: imgAttributes.srcSet ? undefined : imgAttributes.src\n }, linkProps))) : null));\n}\nfunction normalizeSrc(src) {\n return src[0] === '/' ? src.slice(1) : src;\n}\nfunction imgixLoader({ config , src , width , quality }) {\n // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300\n const url = new URL(`${config.path}${normalizeSrc(src)}`);\n const params = url.searchParams;\n params.set('auto', params.get('auto') || 'format');\n params.set('fit', params.get('fit') || 'max');\n params.set('w', params.get('w') || width.toString());\n if (quality) {\n params.set('q', quality.toString());\n }\n return url.href;\n}\nfunction akamaiLoader({ config , src , width }) {\n return `${config.path}${normalizeSrc(src)}?imwidth=${width}`;\n}\nfunction cloudinaryLoader({ config , src , width , quality }) {\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n const params = [\n 'f_auto',\n 'c_limit',\n 'w_' + width,\n 'q_' + (quality || 'auto')\n ];\n const paramsString = params.join(',') + '/';\n return `${config.path}${paramsString}${normalizeSrc(src)}`;\n}\nfunction customLoader({ src }) {\n throw new Error(`Image with src \"${src}\" is missing \"loader\" prop.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`);\n}\nfunction defaultLoader({ config , src , width , quality }) {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n if (missingValues.length > 0) {\n throw new Error(`Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify({\n src,\n width,\n quality\n })}`);\n }\n if (src.startsWith('//')) {\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`);\n }\n if (!src.startsWith('/') && config.domains) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error(`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 if (process.env.NODE_ENV !== 'test' && !config.domains.includes(parsedSrc.hostname)) {\n throw new Error(`Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` + `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`);\n }\n }\n }\n if (src.endsWith('.svg') && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n return src;\n }\n return `${config.path}?url=${encodeURIComponent(src)}&w=${width}&q=${quality || 75}`;\n}\n\n//# sourceMappingURL=image.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useIntersection = useIntersection;\nvar _react = require(\"react\");\nvar _requestIdleCallback = require(\"./request-idle-callback\");\nconst hasIntersectionObserver = typeof IntersectionObserver !== 'undefined';\nfunction useIntersection({ rootRef , rootMargin , disabled }) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const unobserve = (0, _react).useRef();\n const [visible, setVisible] = (0, _react).useState(false);\n const [root, setRoot] = (0, _react).useState(rootRef ? rootRef.current : null);\n const setRef = (0, _react).useCallback((el)=>{\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n if (isDisabled || visible) return;\n if (el && el.tagName) {\n unobserve.current = observe(el, (isVisible)=>isVisible && setVisible(isVisible)\n , {\n root,\n rootMargin\n });\n }\n }, [\n isDisabled,\n root,\n rootMargin,\n visible\n ]);\n (0, _react).useEffect(()=>{\n if (!hasIntersectionObserver) {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true)\n );\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback)\n ;\n }\n }\n }, [\n visible\n ]);\n (0, _react).useEffect(()=>{\n if (rootRef) setRoot(rootRef.current);\n }, [\n rootRef\n ]);\n return [\n setRef,\n visible\n ];\n}\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n let index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin\n );\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n let existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin\n );\n let instance;\n if (existing) {\n instance = observers.get(existing);\n } else {\n instance = observers.get(id);\n idList.push(id);\n }\n if (instance) {\n return instance;\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n observers.set(id, instance = {\n id,\n observer,\n elements\n });\n return instance;\n}\n\n//# sourceMappingURL=use-intersection.js.map","module.exports = require('./dist/client/image')\n"],"names":["exports","_param","src","sizes","unoptimized","priority","loading","lazyRoot","lazyBoundary","className","quality","width","height","objectFit","objectPosition","onLoadingComplete","loader","defaultImageLoader","placeholder","blurDataURL","all","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_objectWithoutProperties","imgRef","_react","useRef","configContext","useContext","_imageConfigContext","ImageConfigContext","config","useMemo","c","configEnv","_imageConfig","imageConfigDefault","allSizes","deviceSizes","imageSizes","sort","a","b","_objectSpread","rest","layout","staticSrc","isStaticRequire","undefined","isStaticImageData","isStaticImport","staticImageData","default","Error","JSON","stringify","widthInt","getInt","heightInt","qualityInt","isLazy","startsWith","loadedImageURLs","has","sizerSvgUrl","_useIntersection","useIntersection","rootRef","rootMargin","disabled","setIntersection","isIntersected","isVisible","wrapperStyle","boxSizing","display","overflow","background","opacity","border","margin","padding","sizerStyle","hasSizer","imgStyle","position","top","left","bottom","right","minWidth","maxWidth","minHeight","maxHeight","blurStyle","filter","backgroundSize","backgroundImage","backgroundPosition","quotient","paddingTop","isNaN","imgAttributes","emptyDataURL","srcSet","generateImgAttrs","srcString","imageSrcSetPropName","imageSizesPropName","linkProps","useLayoutEffect","onLoadingCompleteRef","useEffect","current","handleLoad","img","decode","Promise","resolve","catch","then","add","style","naturalWidth","naturalHeight","complete","onload","handleLoading","createElement","alt","assign","decoding","ref","_head","rel","as","href","obj","__esModule","newObj","hasOwnProperty","desc","defineProperty","getOwnPropertyDescriptor","get","set","_interopRequireWildcard","require","_defineProperty","value","enumerable","configurable","writable","ownKeys","concat","sym","forEach","arguments","process","Set","Map","loaders","endsWith","dangerouslyAllowSVG","encodeURIComponent","path","url","URL","normalizeSrc","params","searchParams","toString","paramsString","join","getWidths","match","viewportWidthRe","percentSizes","exec","push","parseInt","Math","smallestRatio","min","widths","s","kind","map","w","find","p","last","x","loaderProps","loaderKey","load","VALID_LOADERS","slice","isDisabled","hasIntersectionObserver","unobserve","useState","visible","setVisible","root","setRoot","setRef","useCallback","el","tagName","element","callback","options","createObserver","instance","id","existing","idList","observers","elements","observer","IntersectionObserver","entries","entry","isIntersecting","intersectionRatio","observe","delete","size","disconnect","index","findIndex","splice","idleCallback","_requestIdleCallback","requestIdleCallback","cancelIdleCallback","module"],"sourceRoot":""}