{"version":3,"file":"d59b55ad96db66feb66ccadae8900266ef05b8c6-e6f3dda1d510e584d9a0.js","mappings":"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","sources":["webpack://quickhit/./node_modules/camelcase/index.js","webpack://quickhit/../src/image-utils.ts","webpack://quickhit/../src/components/hooks.ts","webpack://quickhit/../src/components/layout-wrapper.tsx","webpack://quickhit/../src/components/picture.tsx","webpack://quickhit/../src/components/placeholder.tsx","webpack://quickhit/../src/components/main-image.tsx","webpack://quickhit/../src/components/gatsby-image.server.tsx","webpack://quickhit/../src/components/gatsby-image.browser.tsx","webpack://quickhit/../src/components/static-image.server.tsx","webpack://quickhit/../src/components/static-image.tsx","webpack://quickhit/./node_modules/query-params-hook/lib/index.js","webpack://quickhit/./node_modules/react-device-detect/dist/lib.js","webpack://quickhit/./node_modules/ua-parser-js/dist/ua-parser.min.js"],"sourcesContent":["'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n outputPixelDensities?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial & {\n childImageSharp?: IGatsbyImageDataParent>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent | any\n): node is IGatsbyImageParent => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent =\n function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n }\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar useQueryParams = function () {\r\n if (typeof window === 'undefined')\r\n return {};\r\n var params = new URLSearchParams(window ? window.location.search : {});\r\n return new Proxy(params, {\r\n get: function (target, prop) {\r\n return target.get(prop);\r\n },\r\n });\r\n};\r\nexports.default = useQueryParams;\r\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","/* UAParser.js v1.0.40\n Copyright © 2012-2024 Faisal Salman \n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.40\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=500;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\",CHROMIUM_OS=\"Chromium OS\",MAC_OS=\"Mac OS\",SUFFIX_BROWSER=\" Browser\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j2){_device[MODEL]=\"iPad\";_device[TYPE]=TABLET}return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);if(_isSelfNav&&!_os[NAME]&&_uach&&_uach.platform&&_uach.platform!=\"Unknown\"){_os[NAME]=_uach.platform.replace(/chrome os/i,CHROMIUM_OS).replace(/macos/i,MAC_OS)}return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);"],"names":["camelCase","input","options","Array","isArray","TypeError","Object","assign","pascalCase","map","x","trim","filter","length","join","toUpperCase","toLowerCase","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","_","p1","m","charAt","module","exports","N","height","HTMLImageElement","prototype","W","e","t","a","Boolean","images","fallback","src","gatsbyImageData","gatsbyImage","childImageSharp","j","r","u","loading","shouldLoad","style","opacity","O","n","s","o","l","backgroundColor","width","position","top","left","bottom","right","objectFit","objectPosition","d","transition","z","D","_ref5","layout","paddingTop","maxWidth","display","alt","role","A","children","c","q","P","H","srcSet","decoding","G","sources","sizes","_ref6","media","type","key","V","propTypes","isRequired","displayName","B","F","Error","U","Y","_len","arguments","_key","h","apply","concat","X","image","J","Z","K","Set","Q","ee","te","as","className","class","g","onStartLoad","p","onLoad","onError","f","w","y","b","v","E","M","k","S","$","I","JSON","stringify","then","_ref7","renderImageToString","swapPlaceholderImage","current","querySelector","complete","wasCached","setTimeout","removeAttribute","addEventListener","removeEventListener","add","has","_ref8","innerHTML","isLoading","isLoaded","requestAnimationFrame","cancelAnimationFrame","ref","dangerouslySetInnerHTML","__html","suppressHydrationWarning","ae","ie","re","_len2","_key2","ne","se","oe","__imageData","__error","console","warn","window","params","URLSearchParams","location","search","Proxy","get","target","prop","ex","React","React__default","UAParser","ClientUAInstance","browser","getBrowser","cpu","getCPU","device","getDevice","engine","getEngine","os","getOS","ua","getUA","setUa","userAgentString","setUA","parseUserAgent","userAgent","UserAgentInstance","UA","setUserAgent","error","UAHelper","freeze","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","push","_typeof","obj","Symbol","iterator","constructor","_defineProperties","props","descriptor","configurable","writable","defineProperty","_defineProperty","value","_extends","source","hasOwnProperty","call","this","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","self","ReferenceError","_slicedToArray","arr","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","next","done","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","name","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","DeviceTypes","undefined","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","InitialDeviceTypes","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","setDefaults","getNavigatorInstance","navigator","isIOS13Check","nav","platform","maxTouchPoints","MSStream","mobilePayload","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","vendor","model","osVersion","version","isMobileType","_ref","isTabletType","_ref2","isMobileAndTabletType","_ref3","isSmartTVType","_ref4","isBrowserType","isWearableType","isConsoleType","isEmbeddedType","getMobileVendor","_ref9","getMobileModel","_ref10","getDeviceType","_ref11","isAndroidType","_ref12","isWindowsType","_ref13","isMacOsType","_ref14","isWinPhoneType","_ref15","isIOSType","_ref16","getOsVersion","_ref17","getOsName","_ref18","isChromeType","_ref19","isFirefoxType","_ref20","isChromiumType","_ref21","isEdgeType","_ref22","isYandexType","_ref23","isSafariType","_ref24","isMobileSafariType","_ref25","isOperaType","_ref26","isIEType","_ref27","isMIUIType","_ref28","isSamsungBrowserType","_ref29","getBrowserFullVersion","_ref30","getBrowserVersion","_ref31","major","getBrowserName","_ref32","getEngineName","_ref33","getEngineVersion","_ref34","isElectronType","isEdgeChromiumType","getIOS13","getIPad13","getIphone13","getIPod13","getUseragent","userAg","buildSelectorsObject","isEmbedded","isMobileSafari","isChromium","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","useDeviceData","hookUserAgent","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HUAWEI","LG","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","SUFFIX_BROWSER","enumerize","enums","str1","str2","lowerize","str","substring","rgxMapper","arrays","matches","match","regex","exec","strMapper","windowsVersionMap","ME","XP","Vista","RT","regexes","tablet","EDGE","extensions","getResult","_navigator","_ua","_uach","userAgentData","_rgxmap","mergedRegexes","extend","_isSelfNav","_browser","split","brave","isBrave","_cpu","_device","mobile","standalone","_engine","_os","CPU","DEVICE","ENGINE","OS","jQuery","Zepto","parser","set","result"],"sourceRoot":""}