{"version":3,"sources":["webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://grundium-ltd-website/./node_modules/any-base/index.js","webpack://grundium-ltd-website/./node_modules/any-base/src/converter.js","webpack://grundium-ltd-website/./node_modules/filter-invalid-dom-props/dist/index.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://grundium-ltd-website/./node_modules/gbimage-bridge/dist/index.modern.js","webpack://grundium-ltd-website/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://grundium-ltd-website/./node_modules/html-attributes/lib/html-attributes.js","webpack://grundium-ltd-website/./node_modules/react-fast-compare/index.js","webpack://grundium-ltd-website/./node_modules/react-side-effect/lib/index.js","webpack://grundium-ltd-website/./node_modules/short-uuid/index.js","webpack://grundium-ltd-website/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/rng.js","webpack://grundium-ltd-website/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/regex.js","webpack://grundium-ltd-website/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/stringify.js","webpack://grundium-ltd-website/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/validate.js","webpack://grundium-ltd-website/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v4.js","webpack://grundium-ltd-website/./node_modules/sort-media-queries/lib/index.js","webpack://grundium-ltd-website/./node_modules/xtend/immutable.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/index.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/BackgroundUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/ClassCache.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/HelperUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/ImageCache.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/ImageHandling.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/ImageRef.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/ImageUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/IntersectionObserverUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/MediaUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/SimpleUtils.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/StyleCreation.js","webpack://grundium-ltd-website/./node_modules/gatsby-background-image/lib/StyleUtils.js","webpack://grundium-ltd-website/./node_modules/react-helmet/es/Helmet.js","webpack://grundium-ltd-website/./src/components/Seo.js"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","arrayLikeToArray","isArray","obj","key","value","Object","defineProperty","enumerable","configurable","writable","iter","Symbol","iterator","from","TypeError","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","o","minLen","n","prototype","toString","call","slice","constructor","name","test","Converter","anyBase","srcAlphabet","dstAlphabet","converter","number","convert","BIN","OCT","DEC","HEX","Error","this","divide","newlen","numberMap","fromBase","toBase","result","isValid","indexOf","parseInt","concat","default","props","domProps","prop","hasOwnProperty","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onLoad","onError","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","_slicedToArray","_i","_s","_e","_arr","_n","_d","next","done","push","err","l","assign","e","r","arguments","t","apply","layout","s","images","sources","reduce","type","split","charAt","toUpperCase","u","srcSet","_l","matchAll","_t","sizes","replace","filter","includes","c","_r","_t2","width","height","_c","placeholder","fallback","base64","tracedSVG","a","_o","aspectRatio","d","_ref2","_i2","_u2","map","media","_r2","_u","f","image","children","keys","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","b","it","size","entries","has","get","RegExp","source","flags","valueOf","$$typeof","error","message","match","console","warn","ex","React","React__default","_defineProperty","canUseDOM","window","document","createElement","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","WrappedComponent","state","mountedInstances","emitChange","instance","SideEffect","_PureComponent","subClass","superClass","create","__proto__","peek","rewind","recordedState","undefined","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","index","splice","render","PureComponent","displayName","getDisplayName","_toConsumableArray","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","target","forEach","getOwnPropertyDescriptors","defineProperties","toFlickr","makeConvertor","uuidV4","flickrBase58","baseOptions","consistentLength","shortenUUID","longId","translator","paddingParams","translated","toLowerCase","padStart","shortIdLength","paddingChar","toAlphabet","options","useAlphabet","selectedOptions","alphabetLength","Math","ceil","log","pow","fromHex","toHex","generate","new","uuid","fromUUID","toUUID","shortUuid","shortId","m","join","enlargeUUID","alphabet","maxLength","freeze","constants","cookieBase90","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","byteToHex","substr","offset","buf","rnds","random","extend","mqTypes","determineSortOrder","isMax","sortValA","sortVal","sortValB","ruleA","item","__media","ruleB","sortInit","rules","flag","rulesLength","itemsValid","allValid","collection","mqCollection","mqTypesLength","createCollection","prepareRules","rule","collectionType","valMatch","addRulesToCollection","sorter","sort","sortCollection","transformed","iterateCollectionItem","collectionItem","resultVal","typeLength","transformCollection","_interopRequireDefault","require","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_ImageCache","_ImageRef","_ImageHandling","_StyleUtils","_StyleCreation","_IntersectionObserverUtils","_SimpleUtils","BackgroundImage","_React$Component","_this","intersectionListener","imageInCache","inImageCache","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","setState","imageState","imgLoaded","imgCached","hasActivatedPictureRefs","convertedProps","convertProps","IOSupported","fadeIn","seenBefore","isBrowser","IntersectionObserver","critical","hasNoScript","currentClassNames","fixClassName","backgroundStyles","presetBackgroundStyles","className","handleImageLoaded","handleRef","createPictureRef","componentDidMount","imageReferenceCompleted","prevProps","_this2","imagePropsChanged","bgImage","getCurrentFromData","data","propName","returnArray","currentImageRef","isString","onload","cleanUpListeners","ref","listenToIntersections","rootMargin","activateCacheForImage","_fixOpacity","fixOpacity","preserveStackingContext","_fixOpacity$style","style","fluid","fixed","backgroundColor","durationFadeIn","Tag","keepStatic","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","divStyle","position","opacity","getCurrentSrcData","noScriptImageData","display","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","originalData","noScriptPseudoStyles","createNoScriptStyles","componentKey","JSON","stringify","currentStyles","dangerouslySetInnerHTML","__html","Component","defaultProps","fixedObject","shape","isRequired","src","string","srcWebp","srcSetWebp","srcAvif","srcSetAvif","fluidObject","propTypes","oneOfType","arrayOf","bool","crossOrigin","array","func","_default","getBackgroundStylesForSingleClass","getStyleRules","getStyleRulesForClassName","styleSheets","classes","cssRules","foundClass","foundAcc","styleRule","selectorText","cssStyleRules","styles","values","toCamelCase","newData","stringToArray","classObjects","resetComponentClassCache","activateCacheForComponentClass","inComponentClassCache","componentClassCache","_filterInvalidDomProps","_MediaUtils","hasArtDirectionSupport","groupByMedia","resetImageCache","activateCacheForMultipleImages","allInImageCache","imageCache","isLoop","isImageStack","hasImageArray","hasArtDirectionArray","getSelectedImage","getImageSrcKey","isObject","objectSrc","every","imageData","_ref","currentSources","lastImage","filteredJoin","finalImage","combineArray","addUrl","dummyArray","createDummyImageArray","afterOpacity","currentSrc","checkLoaded","hasPictureRef","activateMultiplePictureRefs","createMultiplePictureRefs","img","Image","complete","addEventListener","imageRefs","bodyClone","offsetWidth","offsetHeight","hasPictureElement","pic","createArtDirectionSources","reverse","currentSource","appendChild","sourcesAvif","createSourceElementForSrcSet","sourcesWebp","srcset","singleImageRef","imageLoaded","imageArrayPropsChanged","hasImageUrl","isBase64","getUrlString","HTMLPictureElement","Boolean","_ref$addUrl","_ref$returnArray","_ref$checkLoaded","imageString","dataElement","currentData","_ref3","mediaData","foundMedia","findIndex","matchesMedia","_ref4","_ref5","_ref5$tracedSVG","_ref5$addUrl","_ref5$returnArray","_ref5$hasImageUrls","hasImageUrls","stringArray","currentString","_base","_imageUrl","currentReturnString","imageUrl","returnString","base64String","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","some","dummyImageURI","fill","naturalWidth","naturalHeight","getIO","callbackIO","io","listeners","WeakMap","entry","callback","isIntersecting","intersectionRatio","unobserve","delete","element","observer","observe","set","_sortMediaQueries","imageVariants","without","sortedVariants","variant","srcSetName","capitalize","sourceWebp","sourceAvif","matchMedia","matches","hashString","toKebabCase","str","letter","delimiter","hash","charCodeAt","arrayToJoin","fromArray","toArray","createStyleImage","createPseudoElementMediaQuery","createPseudoElementWithContent","createPseudoElement","appendix","escapedClassName","escapeClassNames","pseudoClasses","pseudoElementString","imageSource","imageSourceWebP","pseudoBefore","pseudoAfter","currentBackgroundStyles","setTransitionStyles","kebabifyBackgroundStyles","Number","hasStackedImages","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","currentMedia","sourceString","webPString","_shortUuid","_ClassCache","elementExists","additionalClassname","randomClass","componentClassNames","trim","classNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","resultingStyles","styledProps","isNaN","backgroundPosition","backgroundRepeat","backgroundSize","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","classCallCheck","Constructor","createClass","descriptor","protoProps","staticProps","_extends","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","encode","String","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","tag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","Date","now","currentTime","setTimeout","cafPolyfill","id","clearTimeout","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","g","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","title","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","innerHTML","styleSheet","cssText","createTextNode","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","base","link","meta","noscript","script","HelmetSideEffects","defer","HelmetExport","HelmetWrapper","setPrototypeOf","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","defaultTitle","titleTemplate","mappedState","renderStatic","Seo","description","article","keywords","pathname","useLocation","useStaticQuery","query","site","siteMetadata","defaultDescription","siteUrl","defaultImage","twitterUsername","seo","url","lang","rel","href","hrefLang"],"mappings":"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","file":"commons-9dacbe41a48daf76f84f.js","sourcesContent":["function _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++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _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\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var Converter = require('./src/converter');\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\n\n\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n\n return function (number) {\n return converter.convert(number);\n };\n}\n\n;\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\nmodule.exports = anyBase;","'use strict';\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\n\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\n\n\nConverter.prototype.convert = function (number) {\n var i,\n divide,\n newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n\n do {\n divide = 0;\n newlen = 0;\n\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\n\n\nConverter.prototype.isValid = function (number) {\n var i = 0;\n\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n\n return true;\n};\n\nmodule.exports = Converter;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar eventProps = {\n onCopy: true,\n onCut: true,\n onPaste: true,\n onLoad: true,\n onError: true,\n onWheel: true,\n onScroll: true,\n onCompositionEnd: true,\n onCompositionStart: true,\n onCompositionUpdate: true,\n onKeyDown: true,\n onKeyPress: true,\n onKeyUp: true,\n onFocus: true,\n onBlur: true,\n onChange: true,\n onInput: true,\n onSubmit: true,\n onClick: true,\n onContextMenu: true,\n onDoubleClick: true,\n onDrag: true,\n onDragEnd: true,\n onDragEnter: true,\n onDragExit: true,\n onDragLeave: true,\n onDragOver: true,\n onDragStart: true,\n onDrop: true,\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOut: true,\n onMouseOver: true,\n onMouseUp: true,\n onSelect: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchMove: true,\n onTouchStart: true,\n onAnimationStart: true,\n onAnimationEnd: true,\n onAnimationIteration: true,\n onTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n return eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n var domProps = {};\n\n for (var prop in props) {\n if (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n domProps[prop] = props[prop];\n }\n }\n\n return domProps;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _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}","export default function _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}","import _defineProperty from \"/home/webdev/gcom-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"/home/webdev/gcom-gatsby/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"/home/webdev/gcom-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport e from \"gatsby-background-image\";\nimport r from \"react\";\n\nfunction l() {\n return (l = Object.assign || function (e) {\n for (var r = 1; r < arguments.length; r++) {\n var l = arguments[r];\n\n for (var t in l) {\n Object.prototype.hasOwnProperty.call(l, t) && (e[t] = l[t]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar t = function t(e) {\n return \"[object String]\" === Object.prototype.toString.call(e);\n},\n n = function n(e) {\n return \"fixed\" === e.layout ? \"fixed\" : \"fluid\";\n},\n i = function i(e) {\n var r;\n\n for (r = 0; r < e.length; r++) {\n if (!t(e[r])) return e[r];\n }\n\n return null;\n},\n u = function u(e) {\n return e.width / e.height;\n},\n a = function a(e) {\n var r, l, t, n;\n return e.placeholder ? null != (r = e.placeholder) && null != (l = r.fallback) && l.includes(\"base64\") ? {\n base64: null == (t = e.placeholder) ? void 0 : t.fallback\n } : {\n tracedSVG: null == (n = e.placeholder) ? void 0 : n.fallback\n } : {};\n},\n c = function c(e) {\n if (e.srcSet) {\n var r;\n\n var _l = _toConsumableArray(e.srcSet.matchAll(/(?:([^\"'\\s,]+)\\s*(?:\\s+\\d+[wx])(?:,\\s*)?)/gm)),\n _t = e.sizes.replace(\"px\", \"\"),\n _n = _l.filter(function (e) {\n return (null == e ? void 0 : e[0].includes(\"100w\")) || (null == e ? void 0 : e[0].includes(\"1x\")) || (null == e ? void 0 : e[0].includes(\"\".concat(_t, \"w\")));\n });\n\n return (null == _n || null == (r = _n[0]) ? void 0 : r[1]) || \"\";\n }\n\n return \"\";\n},\n s = function s(e) {\n var r, l, t;\n return null != (r = e.images) && r.sources && Array.isArray(null == (l = e.images) ? void 0 : l.sources) ? null == (t = e.images) ? void 0 : t.sources.reduce(function (e, r) {\n var l;\n var t = (null == r || null == (l = r.type) ? void 0 : l.split(\"/\")[1]) || \"\",\n n = (null == t ? void 0 : t.charAt(0).toUpperCase()) + t.slice(1),\n i = \"srcSet\".concat(n),\n u = \"src\".concat(n);\n return n && (!(i in e) && null != r && r.srcSet && (e[i] = r.srcSet), !(u in e) && null != r && r.srcSet && (e[u] = c(r))), e;\n }, {}) : {};\n},\n o = function o(e) {\n if (e && e.layout) {\n var _r = {},\n _t2 = n(e),\n _i = u(e),\n _c = a(e),\n _o = s(e);\n\n return _r[_t2] = l({}, e.images.fallback, _o, _c, \"fluid\" === _t2 ? {\n aspectRatio: _i\n } : {}, \"fixed\" === _t2 ? {\n width: e.width,\n height: e.height\n } : {}), _r;\n }\n\n return null;\n};\n\nfunction d(e) {\n if (e) {\n if (Array.isArray(e)) {\n var _ref = function (e) {\n var r = i(e);\n\n if (r) {\n var _i2 = n(r),\n _u2 = e.map(function (e) {\n if (t(e)) return e;\n var r = o(e);\n return l({}, r && r[_i2], null != e && e.media ? {\n media: e.media\n } : {});\n });\n\n return [_i2, _u2];\n }\n\n return [];\n }(e),\n _ref2 = _slicedToArray(_ref, 2),\n _r2 = _ref2[0],\n _u = _ref2[1];\n\n return _r2 ? _defineProperty({}, _r2, _u) : null;\n }\n\n return o(e);\n }\n\n return null;\n}\n\nvar f = function f(l) {\n var t = l.image,\n n = l.children,\n i = function (e, r) {\n if (null == e) return {};\n var l,\n t,\n n = {},\n i = Object.keys(e);\n\n for (t = 0; t < i.length; t++) {\n r.indexOf(l = i[t]) >= 0 || (n[l] = e[l]);\n }\n\n return n;\n }(l, [\"image\", \"children\"]),\n u = t && d(t);\n\n return u ? r.createElement(e, Object.assign({}, u, i), n) : r.createElement(\"div\", null, n);\n};\n\nexport { f as BgImage, o as convertSingleBgImage, d as convertToBgImage, s as getAllExtraSrcSets, u as getAspectRatio, n as getBgImageType, a as getPlaceholder, i as getSingleImage, c as getSrc, t as isString };","export default function _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 * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n'use strict';\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\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 _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","var _toConsumableArray = require(\"/home/webdev/gcom-gatsby/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _defineProperty = require(\"/home/webdev/gcom-gatsby/node_modules/@babel/runtime/helpers/defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\nvar anyBase = require('any-base');\n\nvar uuidV4 = require('uuid').v4;\n\nvar flickrBase58 = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';\nvar cookieBase90 = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\";\nvar baseOptions = {\n consistentLength: true\n}; // A default generator, instantiated only if used.\n\nvar toFlickr;\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string)} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\n\nvar shortenUUID = function shortenUUID(longId, translator, paddingParams) {\n var translated = translator(longId.toLowerCase().replace(/-/g, ''));\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n return translated.padStart(paddingParams.shortIdLength, paddingParams.paddingChar);\n};\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\n\n\nvar enlargeUUID = function enlargeUUID(shortId, translator) {\n var uu1 = translator(shortId).padStart(32, '0'); // Join the zero padding and the UUID and then slice it up with match\n\n var m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/); // Accumulate the matches and join them.\n\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n}; // Calculate length for the shortened ID\n\n\nvar getShortIdLength = function getShortIdLength(alphabetLength) {\n return Math.ceil(Math.log(Math.pow(2, 128)) / Math.log(alphabetLength));\n};\n\nmodule.exports = function () {\n /**\n * @param {string} toAlphabet - Defaults to flickrBase58 if not provided\n * @param {Object} [options]\n *\n * @returns {{new: (function()),\n * uuid: (function()),\n * fromUUID: (function(string)),\n * toUUID: (function(string)),\n * alphabet: (string)}}\n */\n var makeConvertor = function makeConvertor(toAlphabet, options) {\n // Default to Flickr 58\n var useAlphabet = toAlphabet || flickrBase58; // Default to baseOptions\n\n var selectedOptions = _objectSpread(_objectSpread({}, baseOptions), options); // Check alphabet for duplicate entries\n\n\n if (_toConsumableArray(new Set(Array.from(useAlphabet))).length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n\n var shortIdLength = getShortIdLength(useAlphabet.length); // Padding Params\n\n var paddingParams = {\n shortIdLength: shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0]\n }; // UUIDs are in hex, so we translate to and from.\n\n var fromHex = anyBase(anyBase.HEX, useAlphabet);\n var toHex = anyBase(useAlphabet, anyBase.HEX);\n\n var generate = function generate() {\n return shortenUUID(uuidV4(), fromHex, paddingParams);\n };\n\n var translator = {\n new: generate,\n generate: generate,\n uuid: uuidV4,\n fromUUID: function fromUUID(uuid) {\n return shortenUUID(uuid, fromHex, paddingParams);\n },\n toUUID: function toUUID(shortUuid) {\n return enlargeUUID(shortUuid, toHex);\n },\n alphabet: useAlphabet,\n maxLength: shortIdLength\n };\n Object.freeze(translator);\n return translator;\n }; // Expose the constants for other purposes.\n\n\n makeConvertor.constants = {\n flickrBase58: flickrBase58,\n cookieBase90: cookieBase90\n }; // Expose the generic v4 UUID generator for convenience\n\n makeConvertor.uuid = uuidV4; // Provide a generic generator\n\n makeConvertor.generate = function () {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(flickrBase58).generate;\n }\n\n return toFlickr();\n };\n\n return makeConvertor;\n}();","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","var extend = require('xtend');\n\nvar mqTypes = ['blank', 'all', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'print'];\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\nfunction itemsValid(rules, type, prop) {\n var flag = true;\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (typeof rules[i] !== type || prop && !rules[i].hasOwnProperty(prop)) {\n flag = false;\n break;\n }\n }\n\n return flag;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\n\nfunction allValid(rules, type, prop) {\n if (!rules || !rules.length || typeof rules === 'string') {\n return 'none';\n }\n\n if (type === 'object' && (!prop || typeof prop !== 'string') || !itemsValid(rules, type, prop)) {\n return 'some';\n }\n\n return 'all';\n}\n/**\n * Normalize between array with strings and array with objects\n *\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Object}\n */\n\n\nfunction prepareRules(rules, type, prop) {\n var collection = [];\n var o = {};\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (type === 'string') {\n o = extend({}, {\n __media: rules[i]\n });\n } else {\n o = extend({}, rules[i]);\n o.__media = rules[i][prop];\n }\n\n collection.push(o);\n }\n\n return collection;\n}\n/**\n * @param {Boolean} isMax\n *\n * @return {Function}\n */\n\n\nfunction determineSortOrder(isMax) {\n /**\n * Determine sort order based on provided arguments\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Integer}\n */\n return function (a, b) {\n var sortValA = a.sortVal;\n var sortValB = b.sortVal;\n var ruleA = a.item.__media;\n var ruleB = b.item.__media;\n isMax = typeof isMax !== 'undefined' ? isMax : false; // Consider print for sorting if sortVals are equal\n\n if (sortValA === sortValB) {\n if (ruleA.match(/print/)) {\n // a contains print and should be sorted after b\n return 1;\n }\n\n if (ruleB.match(/print/)) {\n // b contains print and should be sorted after a\n return -1;\n }\n } // Return descending sort order for max-(width|height) media queries\n\n\n if (isMax) {\n return sortValB - sortValA;\n } // Return ascending sort order\n\n\n return sortValA - sortValB;\n };\n}\n/**\n * @return {Object}\n */\n\n\nfunction createCollection() {\n var mqCollection = {};\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n mqCollection[mqTypes[i]] = [];\n }\n\n return mqCollection;\n}\n/**\n * @param {Object} collection\n * @param {Array} rules\n *\n * @return {Object}\n */\n\n\nfunction addRulesToCollection(collection, rules) {\n // Sort media queries by kind, this is needed to output them in the right order\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n var item = rules[i];\n var rule = item.__media;\n var collectionType = 'blank';\n var valMatch = rule.match(/\\d+/g);\n\n if (rule.match(/min-width/)) {\n collectionType = 'minWidth';\n } else if (rule.match(/min-height/)) {\n collectionType = 'minHeight';\n } else if (rule.match(/max-width/)) {\n collectionType = 'maxWidth';\n } else if (rule.match(/max-height/)) {\n collectionType = 'maxHeight';\n } else if (rule.match(/print/)) {\n collectionType = 'print';\n } else if (rule.match(/all/)) {\n collectionType = 'all';\n }\n\n collection[collectionType].push({\n item: item,\n sortVal: valMatch ? valMatch[0] : 0\n });\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n *\n * @return {Object}\n */\n\n\nfunction sortCollection(collection) {\n var sorter;\n\n for (var collectionType in collection) {\n if (collection.hasOwnProperty(collectionType)) {\n sorter = determineSortOrder(false);\n\n if (collectionType === 'maxWidth' || collectionType === 'maxHeight') {\n sorter = determineSortOrder(true);\n }\n\n collection[collectionType].sort(sorter);\n }\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction transformCollection(collection, type, prop) {\n var transformed = [];\n var collectionItem;\n\n function iterateCollectionItem(collectionItem) {\n var resultVal;\n\n for (var i = 0, typeLength = collectionItem.length; i < typeLength; i++) {\n if (type === 'string') {\n resultVal = collectionItem[i].item.__media;\n } else {\n resultVal = collectionItem[i].item;\n delete resultVal.__media;\n }\n\n transformed.push(resultVal);\n }\n }\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n iterateCollectionItem(collection[mqTypes[i]]);\n }\n\n return transformed;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction sortInit(rules, type, prop) {\n switch (allValid(rules, type, prop)) {\n case 'none':\n return [];\n\n case 'some':\n return rules;\n }\n\n var collection = createCollection();\n rules = prepareRules(rules, type, prop);\n addRulesToCollection(collection, rules);\n sortCollection(collection);\n return transformCollection(collection, type, prop);\n}\n/**\n * @param {Array} rules\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nmodule.exports = function (rules, prop) {\n if (rules) {\n if (prop) {\n return sortInit(rules, 'object', prop);\n }\n\n return sortInit(rules, 'string');\n }\n\n return [];\n};","module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./lib/BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./lib/HelperUtils\");\n\nvar _ImageUtils = require(\"./lib/ImageUtils\");\n\nvar _ImageCache = require(\"./lib/ImageCache\");\n\nvar _ImageRef = require(\"./lib/ImageRef\");\n\nvar _ImageHandling = require(\"./lib/ImageHandling\");\n\nvar _StyleUtils = require(\"./lib/StyleUtils\");\n\nvar _StyleCreation = require(\"./lib/StyleCreation\");\n\nvar _IntersectionObserverUtils = require(\"./lib/IntersectionObserverUtils\");\n\nvar _SimpleUtils = require(\"./lib/SimpleUtils\");\n\nvar BackgroundImage = function (_React$Component) {\n (0, _inheritsLoose2.default)(BackgroundImage, _React$Component);\n\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n _this.intersectionListener = function () {\n var imageInCache = (0, _ImageCache.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n }\n\n _this.imageRef = (0, _ImageRef.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState(function (state) {\n return {\n isVisible: true,\n imageState: state.imageState + 1\n };\n }, function () {\n _this.setState(function (state) {\n return {\n imgLoaded: imageInCache,\n imgCached: (0, _ImageRef.hasActivatedPictureRefs)(_this.imageRef),\n imageState: state.imageState + 1\n };\n });\n });\n };\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = convertedProps.fadeIn;\n var seenBefore = (0, _ImageCache.inImageCache)(convertedProps);\n\n if (!seenBefore && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n }\n\n if (!(0, _SimpleUtils.isBrowser)()) {\n isVisible = false;\n }\n\n if (convertedProps.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(convertedProps.critical && !fadeIn) && !(0, _SimpleUtils.isBrowser)();\n var imageState = 0;\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName[0];\n\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(convertedProps.className));\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n _this.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: isVisible\n }), _this.handleImageLoaded);\n _this.selfRef = null;\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames\n };\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageCache.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical || this.state.seenBefore) {\n if ((0, _ImageRef.imageReferenceCompleted)(this.imageRef, this.props)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0];\n\n this.setState({\n currentClassNames: currentClassNames\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var convertedProps = (0, _HelperUtils.convertProps)(this.props);\n var imageInCache = (0, _ImageCache.inImageCache)(convertedProps);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName3[0];\n\n this.setState({\n isVisible: imageInCache || convertedProps.critical,\n imgLoaded: imageInCache,\n seenBefore: imageInCache,\n currentClassNames: currentClassNames\n }, function () {\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n if (!!currentImageRef && !(0, _SimpleUtils.isString)(currentImageRef)) {\n currentImageRef.onload = null;\n }\n });\n } else {\n this.imageRef.onload = null;\n }\n }\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener, this.props.rootMargin);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageCache.activateCacheForImage)(this.props);\n this.setState(function (state) {\n return {\n imgLoaded: true,\n imageState: state.imageState + 1\n };\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n keepStatic = _fixOpacity.keepStatic,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\", \"keepStatic\"]);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = shouldFadeIn ? durationFadeIn / 2 + \"ms\" : \"none\";\n var divStyle = (0, _extends2.default)({\n position: \"relative\"\n }, style);\n if (!this.props.preserveStackingContext) divStyle.opacity = 0.99;\n var image = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed,\n returnArray: true\n });\n var noScriptImageData = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed\n }) || {};\n\n if (fluid || fixed) {\n if (fixed) {\n divStyle.width = style.width || image.width;\n divStyle.height = style.height || image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n }\n } else if (keepStatic) {\n noScriptImageData.srcSet = '';\n } else {\n return null;\n }\n\n var newImageSettings = (0, _ImageHandling.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n });\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage;\n var pseudoStyles = (0, _StyleCreation.createPseudoStyles)((0, _extends2.default)({\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings, {\n originalData: fluid || fixed\n }));\n var noScriptPseudoStyles = (0, _StyleCreation.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n });\n var componentKey = \"\" + (fluid ? \"fluid\" : \"\") + (fixed ? \"fixed\" : \"\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n var currentStyles = (0, _extends2.default)({}, this.backgroundStyles, divStyle);\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: this.state.currentClassNames,\n style: currentStyles,\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", null, _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react.default.Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false,\n rootMargin: \"200px\",\n keepStatic: false\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nBackgroundImage.propTypes = {\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fixedObject, _propTypes.default.string]))]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fluidObject, _propTypes.default.string]))]),\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n durationFadeIn: _propTypes.default.number,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n preserveStackingContext: _propTypes.default.bool,\n rootMargin: _propTypes.default.string,\n keepStatic: _propTypes.default.bool\n};\nvar _default = BackgroundImage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.getBackgroundStylesForSingleClass = exports.getStyleRules = exports.getStyleRulesForClassName = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar getStyleRulesForClassName = function getStyleRulesForClassName(className) {\n var styleSheets = (0, _SimpleUtils.isBrowser)() ? window.document.styleSheets : [];\n\n for (var i = 0; i < styleSheets.length; i++) {\n var classes = void 0;\n\n try {\n classes = typeof styleSheets[i].rules !== 'undefined' ? styleSheets[i].rules : typeof styleSheets[i].cssRules !== 'undefined' ? styleSheets[i].cssRules : '';\n } catch (e) {}\n\n if (classes) {\n var foundClass = Array.prototype.slice.call(classes).reduce(function (foundAcc, styleRule) {\n if (styleRule.selectorText === className) {\n foundAcc.push(styleRule);\n }\n\n return foundAcc;\n }, []);\n\n if (foundClass.length) {\n return foundClass;\n }\n }\n }\n\n return [];\n};\n\nexports.getStyleRulesForClassName = getStyleRulesForClassName;\n\nvar getStyleRules = function getStyleRules(cssStyleRules) {\n var styles = {};\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n var constructorName = cssStyleRules[0].style.constructor.name || cssStyleRules[0].style.constructor.toString();\n\n switch (constructorName) {\n case 'CSS2Properties':\n case '[object MSStyleCSSProperties]':\n Object.values(cssStyleRules[0].style).forEach(function (prop) {\n styles[(0, _SimpleUtils.toCamelCase)(prop)] = cssStyleRules[0].style[prop];\n });\n break;\n\n case 'CSSStyleDeclaration':\n styles = cssStyleRules[0].style;\n break;\n\n default:\n console.error('Unknown style object prototype');\n break;\n }\n }\n\n return styles;\n};\n\nexports.getStyleRules = getStyleRules;\n\nvar getBackgroundStylesForSingleClass = function getBackgroundStylesForSingleClass(className) {\n if (className && (0, _SimpleUtils.isString)(className)) {\n var cssStyleRules = getStyleRulesForClassName(\".\" + className);\n\n if ((cssStyleRules === null || cssStyleRules === void 0 ? void 0 : cssStyleRules.length) > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n return Object.keys(getStyleRules(cssStyleRules)).filter(function (key) {\n return key.indexOf('background') === 0 && cssStyleRules[0].style[key] !== '';\n }).reduce(function (newData, key) {\n newData[(0, _SimpleUtils.toCamelCase)(key)] = cssStyleRules[0].style[key];\n return newData;\n }, {});\n }\n }\n\n return {};\n};\n\nexports.getBackgroundStylesForSingleClass = getBackgroundStylesForSingleClass;\n\nvar getBackgroundStyles = function getBackgroundStyles(className) {\n if ((0, _SimpleUtils.isBrowser)()) {\n var classes = (0, _SimpleUtils.stringToArray)(className);\n\n if (classes instanceof Array) {\n var classObjects = [];\n classes.forEach(function (item) {\n return classObjects.push(getBackgroundStylesForSingleClass(item));\n });\n return Object.assign.apply(Object, classObjects);\n }\n\n return getBackgroundStylesForSingleClass(className);\n }\n\n return {};\n};\n\nvar _default = getBackgroundStyles;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetComponentClassCache = exports.activateCacheForComponentClass = exports.inComponentClassCache = void 0;\nvar componentClassCache = Object.create({});\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n\nexports.resetComponentClassCache = resetComponentClassCache;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.convertProps = exports.stripRemainingProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _filterInvalidDomProps = _interopRequireDefault(require(\"filter-invalid-dom-props\"));\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar stripRemainingProps = function stripRemainingProps(props) {\n return (0, _filterInvalidDomProps.default)(props);\n};\n\nexports.stripRemainingProps = stripRemainingProps;\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var fixed = convertedProps.fixed,\n fluid = convertedProps.fluid;\n\n if (fluid && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fluid')) {\n convertedProps.fluid = (0, _MediaUtils.groupByMedia)(convertedProps.fluid);\n }\n\n if (fixed && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fixed')) {\n convertedProps.fixed = (0, _MediaUtils.groupByMedia)(convertedProps.fixed);\n }\n\n return convertedProps;\n};\n\nexports.convertProps = convertProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetImageCache = exports.activateCacheForMultipleImages = exports.activateCacheForImage = exports.allInImageCache = exports.inImageCache = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return allInImageCache(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n return imageCache[objectSrc] || false;\n }\n\n return imageCache[src] || false;\n};\n\nexports.inImageCache = inImageCache;\n\nvar allInImageCache = function allInImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n return imageStack.every(function (imageData, index) {\n return inImageCache(convertedProps, index, true);\n });\n};\n\nexports.allInImageCache = allInImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateCacheForMultipleImages(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if (src) {\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n imageCache[objectSrc] = true;\n } else {\n imageCache[src] = true;\n }\n }\n};\n\nexports.activateCacheForImage = activateCacheForImage;\n\nvar activateCacheForMultipleImages = function activateCacheForMultipleImages(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n imageStack.forEach(function (imageData, index) {\n return activateCacheForImage(convertedProps, index, true);\n });\n};\n\nexports.activateCacheForMultipleImages = activateCacheForMultipleImages;\n\nvar resetImageCache = function resetImageCache() {\n for (var prop in imageCache) {\n delete imageCache[prop];\n }\n};\n\nexports.resetImageCache = resetImageCache;","\"use strict\";\n\nexports.__esModule = true;\nexports.switchImageSettings = void 0;\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n state = _ref.state;\n var currentSources = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\"\n });\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var lastImage = Array.isArray(bgImage) ? (0, _SimpleUtils.filteredJoin)(bgImage) : bgImage;\n var nextImage;\n var nextImageArray;\n var finalImage = returnArray && state.seenBefore && !!currentSources;\n\n if (returnArray) {\n if (!currentSources) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n });\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), nextImage);\n }\n\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), nextImage);\n\n if ((state.imgLoaded || !!currentSources) && state.isVisible) {\n if (currentSources) {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n } else {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n }\n }\n\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, bgImage);\n var dummyArray = (0, _ImageUtils.createDummyImageArray)(image.length);\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, dummyArray);\n nextImageArray = nextImage;\n nextImage = (0, _SimpleUtils.filteredJoin)(nextImage);\n } else {\n nextImage = \"\";\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\"\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\"\n });\n\n if (state.imgLoaded && state.isVisible) {\n nextImage = currentSources;\n finalImage = true;\n }\n }\n\n var afterOpacity = state.imageState % 2;\n\n if (!returnArray && nextImage === \"\" && state.imgLoaded && state.isVisible && imageRef && !imageRef.currentSrc) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n checkLoaded: false\n });\n finalImage = true;\n }\n\n if (!nextImage) nextImage = lastImage;\n var newImageSettings = {\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity,\n finalImage: finalImage\n };\n if (nextImageArray) newImageSettings.nextImageArray = nextImageArray;\n return newImageSettings;\n};\n\nexports.switchImageSettings = switchImageSettings;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageReferenceCompleted = exports.hasPictureRef = exports.hasActivatedPictureRefs = exports.activateMultiplePictureRefs = exports.activatePictureRef = exports.createMultiplePictureRefs = exports.createPictureRef = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _ImageCache = require(\"./ImageCache\");\n\nvar createPictureRef = function createPictureRef(props, onLoad, index, isLoop) {\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return createMultiplePictureRefs(props, onLoad);\n }\n\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n }\n\n if ((convertedProps.critical || convertedProps.isVisible) && !isLoop) {\n return activatePictureRef(img, convertedProps, index, isLoop);\n }\n\n return img;\n }\n\n return null;\n};\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n var imageRefs = imageStack.map(function (imageData, index) {\n return createPictureRef(convertedProps, onLoad, index, true);\n });\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(imageRefs, convertedProps);\n }\n\n return imageRefs;\n};\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef, index, isLoop) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n }\n\n var bodyClone = document.createElement('body');\n var imageData = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n if (!imageData) {\n return null;\n }\n\n if ((0, _SimpleUtils.isString)(imageData)) {\n return imageData;\n }\n\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n if ((0, _ImageUtils.hasPictureElement)()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n pic.width = imageRef.width;\n pic.height = imageRef.height;\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)(convertedProps)) {\n var sources = (0, _MediaUtils.createArtDirectionSources)(convertedProps).reverse();\n sources.forEach(function (currentSource) {\n return pic.appendChild(currentSource);\n });\n }\n\n var sourcesAvif = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'avif');\n sourcesAvif && pic.appendChild(sourcesAvif);\n var sourcesWebp = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'webp');\n sourcesWebp && pic.appendChild(sourcesWebp);\n pic.appendChild(imageRef);\n bodyClone.appendChild(pic);\n }\n\n imageRef.sizes = imageData.sizes || \"\";\n imageRef.srcset = imageData.srcSet || \"\";\n imageRef.src = imageData.src || \"\";\n return imageRef;\n }\n\n return null;\n};\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n return imageRefs.map(function (imageRef, index) {\n return activatePictureRef(imageRef, props, selfRef, index, true);\n });\n};\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar hasActivatedPictureRefs = function hasActivatedPictureRefs(imageRefs) {\n return Array.isArray(imageRefs) ? imageRefs.every(function (imageRef) {\n return hasPictureRef(imageRef);\n }) : hasPictureRef(imageRefs);\n};\n\nexports.hasActivatedPictureRefs = hasActivatedPictureRefs;\n\nvar hasPictureRef = function hasPictureRef(imageRef) {\n return (0, _SimpleUtils.isString)(imageRef) || !!imageRef && !!imageRef.currentSrc;\n};\n\nexports.hasPictureRef = hasPictureRef;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef, props) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return (0, _ImageUtils.imageLoaded)(singleImageRef);\n }) || (0, _ImageCache.inImageCache)(props) : (0, _ImageUtils.imageLoaded)(imageRef) || (0, _ImageCache.inImageCache)(props) : (0, _SimpleUtils.isString)(imageRef);\n};\n\nexports.imageReferenceCompleted = imageReferenceCompleted;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageLoaded = exports.createDummyImageArray = exports.imageArrayPropsChanged = exports.imagePropsChanged = exports.hasImageUrl = exports.isBase64 = exports.getUrlString = exports.getSelectedImage = exports.getCurrentSrcData = exports.getImageSrcKey = exports.getCurrentFromData = exports.hasImageArray = exports.hasPictureElement = void 0;\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || (0, _SimpleUtils.isBrowser)();\n};\n\nexports.hasPictureElement = hasPictureElement;\n\nvar hasImageArray = function hasImageArray(props) {\n return Boolean(props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed));\n};\n\nexports.hasImageArray = hasImageArray;\n\nvar getCurrentFromData = function getCurrentFromData(_ref) {\n var data = _ref.data,\n propName = _ref.propName,\n _ref$addUrl = _ref.addUrl,\n addUrl = _ref$addUrl === void 0 ? true : _ref$addUrl,\n _ref$returnArray = _ref.returnArray,\n returnArray = _ref$returnArray === void 0 ? false : _ref$returnArray,\n _ref$checkLoaded = _ref.checkLoaded,\n checkLoaded = _ref$checkLoaded === void 0 ? true : _ref$checkLoaded;\n if (!data || !propName) return \"\";\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n })) {\n var imageString = data.map(function (dataElement) {\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n }\n\n if (propName === \"CSS_STRING\" && (0, _SimpleUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return (0, _SimpleUtils.isString)(dataElement) ? dataElement : dataElement && propName in dataElement ? dataElement[propName] : \"\";\n });\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n }) && (propName === \"currentSrc\" || propName === \"src\" || propName === \"base64\" || tracedSVG)) {\n var currentData = getCurrentSrcData({\n fluid: data\n });\n return propName in currentData ? getUrlString({\n imageString: currentData[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n\n if (typeof data !== 'object') {\n return '';\n }\n\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n};\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = getCurrentSrcData({\n fluid: fluid,\n fixed: fixed\n });\n return data ? data.src || null : null;\n};\n\nexports.getImageSrcKey = getImageSrcKey;\n\nvar getCurrentSrcData = function getCurrentSrcData(_ref3, index) {\n var fluid = _ref3.fluid,\n fixed = _ref3.fixed,\n returnArray = _ref3.returnArray;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n if (returnArray) {\n return currentData;\n }\n\n if ((0, _SimpleUtils.isBrowser)() && (0, _MediaUtils.hasArtDirectionArray)({\n fluid: fluid,\n fixed: fixed\n })) {\n var mediaData = currentData.slice().reverse();\n var foundMedia = mediaData.findIndex(_MediaUtils.matchesMedia);\n\n if (foundMedia !== -1) {\n return mediaData[foundMedia];\n }\n }\n\n return currentData[index];\n }\n\n return currentData;\n};\n\nexports.getCurrentSrcData = getCurrentSrcData;\n\nvar getSelectedImage = function getSelectedImage(_ref4, index) {\n var fluid = _ref4.fluid,\n fixed = _ref4.fixed;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n return currentData[index] || currentData[0];\n }\n\n return currentData;\n};\n\nexports.getSelectedImage = getSelectedImage;\n\nvar getUrlString = function getUrlString(_ref5) {\n var imageString = _ref5.imageString,\n _ref5$tracedSVG = _ref5.tracedSVG,\n tracedSVG = _ref5$tracedSVG === void 0 ? false : _ref5$tracedSVG,\n _ref5$addUrl = _ref5.addUrl,\n addUrl = _ref5$addUrl === void 0 ? true : _ref5$addUrl,\n _ref5$returnArray = _ref5.returnArray,\n returnArray = _ref5$returnArray === void 0 ? false : _ref5$returnArray,\n _ref5$hasImageUrls = _ref5.hasImageUrls,\n hasImageUrls = _ref5$hasImageUrls === void 0 ? false : _ref5$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var _base = isBase64(currentString);\n\n var _imageUrl = hasImageUrls || hasImageUrl(currentString);\n\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !_base && !tracedSVG && _imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _SimpleUtils.filteredJoin)(stringArray);\n }\n\n var base64 = isBase64(imageString);\n var imageUrl = hasImageUrls || hasImageUrl(imageString);\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n};\n\nexports.getUrlString = getUrlString;\n\nvar isBase64 = function isBase64(base64String) {\n return (0, _SimpleUtils.isString)(base64String) && base64String.indexOf(\"base64\") !== -1;\n};\n\nexports.isBase64 = isBase64;\n\nvar hasImageUrl = function hasImageUrl(imageString) {\n return (0, _SimpleUtils.isString)(imageString) && imageString.substr(0, 4) === \"http\";\n};\n\nexports.hasImageUrl = hasImageUrl;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if (isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n }\n\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n return props.fluid.some(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n }\n\n if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n return props.fixed.some(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n};\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? (0, _SimpleUtils.isString)(imageRef) || imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","\"use strict\";\n\nexports.__esModule = true;\nexports.listenToIntersections = exports.getIO = exports.callbackIO = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar io;\nvar listeners = new WeakMap();\n\nvar callbackIO = function callbackIO(entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var callback = listeners.get(entry.target);\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n callback();\n }\n }\n });\n};\n\nexports.callbackIO = callbackIO;\n\nvar getIO = function getIO(rootMargin) {\n if (typeof io === \"undefined\" && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n io = new window.IntersectionObserver(callbackIO, {\n rootMargin: rootMargin\n });\n }\n\n return io;\n};\n\nexports.getIO = getIO;\n\nvar listenToIntersections = function listenToIntersections(element, callback, rootMargin) {\n if (rootMargin === void 0) {\n rootMargin = \"200px\";\n }\n\n var observer = getIO(rootMargin);\n\n if (observer) {\n observer.observe(element);\n listeners.set(element, callback);\n return function () {\n observer.unobserve(element);\n listeners.delete(element);\n };\n }\n\n return function () {};\n};\n\nexports.listenToIntersections = listenToIntersections;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.matchesMedia = exports.hasArtDirectionArray = exports.hasArtDirectionSupport = exports.createArtDirectionSources = exports.createSourceElementForSrcSet = exports.groupByMedia = void 0;\n\nvar _sortMediaQueries = _interopRequireDefault(require(\"sort-media-queries\"));\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar groupByMedia = function groupByMedia(imageVariants) {\n var without = [];\n var sortedVariants = (0, _sortMediaQueries.default)(imageVariants, 'media');\n sortedVariants.forEach(function (variant) {\n return !variant.media && without.push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return sortedVariants;\n};\n\nexports.groupByMedia = groupByMedia;\n\nvar createSourceElementForSrcSet = function createSourceElementForSrcSet(image, type) {\n var source = document.createElement('source');\n var srcSetName = \"srcSet\" + (0, _SimpleUtils.capitalize)(type);\n\n if (srcSetName in image) {\n source.type = \"image/\" + type;\n source.srcset = image[srcSetName];\n }\n\n if (image.sizes) {\n source.sizes = image.sizes;\n }\n\n if (image.media) {\n source.media = image.media;\n }\n\n return source.srcset ? source : null;\n};\n\nexports.createSourceElementForSrcSet = createSourceElementForSrcSet;\n\nvar createArtDirectionSources = function createArtDirectionSources(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var currentSource = fluid || fixed;\n return currentSource.reduce(function (sources, image) {\n if (!image.media) {\n return sources;\n }\n\n var sourceWebp = createSourceElementForSrcSet(image, 'webp');\n var sourceAvif = createSourceElementForSrcSet(image, 'avif');\n sourceWebp && sources.push(sourceWebp);\n sourceAvif && sources.push(sourceAvif);\n return sources;\n }, []);\n};\n\nexports.createArtDirectionSources = createArtDirectionSources;\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(props, prop) {\n return props[prop] && Array.isArray(props[prop]) && props[prop].some(function (image) {\n return !!image && typeof image.media !== 'undefined';\n });\n};\n\nexports.hasArtDirectionSupport = hasArtDirectionSupport;\n\nvar hasArtDirectionArray = function hasArtDirectionArray(props) {\n return hasArtDirectionSupport(props, 'fluid') || hasArtDirectionSupport(props, 'fixed');\n};\n\nexports.hasArtDirectionArray = hasArtDirectionArray;\n\nvar matchesMedia = function matchesMedia(_ref2) {\n var media = _ref2.media;\n return media ? (0, _SimpleUtils.isBrowser)() && typeof window.matchMedia !== \"undefined\" && !!window.matchMedia(media).matches : false;\n};\n\nexports.matchesMedia = matchesMedia;","\"use strict\";\n\nexports.__esModule = true;\nexports.combineArray = exports.filteredJoin = exports.hashString = exports.stringToArray = exports.capitalize = exports.toKebabCase = exports.toCamelCase = exports.isObject = exports.isString = exports.isBrowser = void 0;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n};\n\nexports.isBrowser = isBrowser;\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n\nexports.isString = isString;\n\nvar isObject = function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n};\n\nexports.isObject = isObject;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.indexOf('-') !== -1 && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '') || str;\n};\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n\nexports.toKebabCase = toKebabCase;\n\nvar capitalize = function capitalize(str) {\n return (str === null || str === void 0 ? void 0 : str.charAt(0).toUpperCase()) + str.slice(1);\n};\n\nexports.capitalize = capitalize;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n if (!Array.isArray(fromArray)) {\n return [fromArray];\n }\n\n return fromArray.map(function (item, index) {\n return item || toArray && toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createNoScriptStyles = exports.createStyleImage = exports.createPseudoStyles = exports.createPseudoElementMediaQuery = exports.createPseudoElementWithContent = exports.createPseudoElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar createPseudoElement = function createPseudoElement(className, appendix) {\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = (0, _StyleUtils.escapeClassNames)(className);\n var classes = (0, _SimpleUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (Array.isArray(classes)) {\n classes = classes.filter(function (c) {\n return c !== '';\n });\n\n if (classes.length > 0) {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n }\n\n return pseudoClasses;\n};\n\nexports.createPseudoElement = createPseudoElement;\n\nvar createPseudoElementWithContent = function createPseudoElementWithContent(pseudoElementString, imageSource) {\n return \"\\n \" + pseudoElementString + \" {\\n opacity: 1;\\n background-image: \" + imageSource + \";\\n }\";\n};\n\nexports.createPseudoElementWithContent = createPseudoElementWithContent;\n\nvar createPseudoElementMediaQuery = function createPseudoElementMediaQuery(pseudoElementString, media, imageSource, imageSourceWebP) {\n return \"\\n @media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSource) + \"\\n }\\n \" + (imageSourceWebP && \"@media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSourceWebP) + \"\\n }\") + \"\\n \";\n};\n\nexports.createPseudoElementMediaQuery = createPseudoElementMediaQuery;\n\nvar createPseudoStyles = function createPseudoStyles(_ref) {\n var className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.style,\n finalImage = _ref.finalImage,\n originalData = _ref.originalData;\n var pseudoBefore = createPseudoElement(className);\n var pseudoAfter = createPseudoElement(className, \":after\");\n var currentBackgroundStyles = (0, _extends2.default)({}, backgroundStyles, style);\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + (0, _StyleUtils.setTransitionStyles)(transitionDelay, fadeIn) + \"\\n \" + (0, _StyleUtils.kebabifyBackgroundStyles)(currentBackgroundStyles) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + ((!afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n opacity: \" + Number(!afterOpacity) + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + ((afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (!afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n \" + (finalImage ? \"opacity: \" + Number(afterOpacity) + \";\" : \"\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createStyleImage = function createStyleImage(image, originalData) {\n var hasStackedImages = (0, _ImageUtils.hasImageArray)({\n fluid: originalData\n }) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: originalData\n });\n\n if ((0, _SimpleUtils.isBrowser)() || hasStackedImages) {\n return image ? \"background-image: \" + image + \";\" : \"\";\n }\n\n return \"\";\n};\n\nexports.createStyleImage = createStyleImage;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref2) {\n var className = _ref2.className,\n image = _ref2.image;\n\n if (image) {\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _SimpleUtils.filteredJoin)((0, _SimpleUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className);\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n })) {\n return image.map(function (currentMedia) {\n var sourceString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.src\n });\n var webPString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.srcWebp || \"\"\n });\n\n if (currentMedia.media) {\n return createPseudoElementMediaQuery(pseudoBefore, currentMedia.media, sourceString, webPString);\n }\n\n return createPseudoElementMediaQuery(pseudoBefore, 'screen', sourceString, webPString);\n }).join('');\n }\n\n return createPseudoElementWithContent(pseudoBefore, sourcesAsUrlWithCSS || sourcesAsUrl);\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.presetBackgroundStyles = exports.fixOpacity = exports.setTransitionStyles = exports.kebabifyBackgroundStyles = exports.escapeClassNames = exports.fixClassName = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _shortUuid = _interopRequireDefault(require(\"short-uuid\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ClassCache = require(\"./ClassCache\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"className\"]);\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = (0, _ClassCache.inComponentClassCache)(className);\n var imageData = (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n var additionalClassname = _shortUuid.default.generate();\n\n var randomClass = \" gbi-\" + (0, _SimpleUtils.hashString)(imageData && imageData.srcSet || className || \"noclass\") + \"-\" + additionalClassname;\n var additionalClass = elementExists || !className ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim();\n if (!elementExists) (0, _ClassCache.activateCacheForComponentClass)(className);\n return [componentClassNames];\n};\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = (0, _SimpleUtils.isBrowser)() && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _SimpleUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _SimpleUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {}\n }\n\n return styledProps;\n};\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2.default)({}, defaultBackgroundStyles, backgroundStyles);\n};\n\nexports.presetBackgroundStyles = presetBackgroundStyles;","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _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\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { useLocation } from \"@reach/router\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n\nconst Seo = ({ title, description, image, article, keywords }) => {\n const { pathname } = useLocation()\n const { site } = useStaticQuery(query)\n // console.log(site);\n\n const {\n defaultTitle,\n defaultDescription,\n siteUrl,\n defaultImage,\n twitterUsername,\n } = site.siteMetadata\n\n const seo = {\n title: title || defaultTitle,\n description: description || defaultDescription,\n image: `${siteUrl}${image || defaultImage}`,\n // url: `${siteUrl}${pathname}`,\n url: /\\/$/.test(pathname) ? `${siteUrl}${pathname}` : `${siteUrl}${pathname}/`,\n }\n\n return (\n \n \n \n \n \n\n {seo.url && }\n\n {keywords && }\n\n {seo.url && }\n\n {(article ? true : null) && }\n\n {seo.title && }\n\n {seo.description && (\n \n )}\n\n {seo.image && }\n\n \n\n {twitterUsername && (\n \n )}\n\n {seo.title && }\n\n {seo.description && (\n \n )}\n\n {seo.image && }\n\n \n )\n}\n\nexport default Seo\n\nSeo.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.string,\n article: PropTypes.bool,\n}\n\nSeo.defaultProps = {\n title: null,\n description: null,\n image: null,\n article: false,\n}\n\nconst query = graphql`\n query Seo {\n site {\n siteMetadata {\n defaultTitle: title\n defaultDescription: description\n siteUrl\n defaultImage: image\n twitterUsername\n }\n }\n }\n`"],"sourceRoot":""}