{"version":3,"sources":["webpack://meci-mercantil-de-equipo-contra-incendio/./node_modules/react-fast-compare/index.js","webpack://meci-mercantil-de-equipo-contra-incendio/./node_modules/react-helmet/es/Helmet.js","webpack://meci-mercantil-de-equipo-contra-incendio/./node_modules/react-side-effect/lib/index.js","webpack://meci-mercantil-de-equipo-contra-incendio/./src/images/logo_original.svg","webpack://meci-mercantil-de-equipo-contra-incendio/./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack://meci-mercantil-de-equipo-contra-incendio/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://meci-mercantil-de-equipo-contra-incendio/./src/components/navigation.js","webpack://meci-mercantil-de-equipo-contra-incendio/./src/images/logo_nocopy.svg","webpack://meci-mercantil-de-equipo-contra-incendio/./src/components/footer.js","webpack://meci-mercantil-de-equipo-contra-incendio/./src/components/layout.js","webpack://meci-mercantil-de-equipo-contra-incendio/./src/components/seo.js"],"names":["hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","constructor","length","i","keys","it","Array","isArray","size","entries","next","done","has","value","get","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","module","exports","error","message","match","console","warn","clock","Component","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","map","name","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","obj","key","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","arguments","objectWithoutProperties","indexOf","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","undefined","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","join","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","concat","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","forEach","push","tagUnion","property","rafPolyfill","Date","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","requestAnimationFrame","window","bind","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","document","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","type","tags","headElement","head","querySelector","tagNodes","querySelectorAll","slice","indexToDelete","newElement","createElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","index","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref","_ref$title","base","link","meta","noscript","script","style","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","this","apply","subClass","superClass","create","setPrototypeOf","__proto__","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","Error","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","children","_this2","_child$props","initAttributes","convertReactPropstoHtmlAttributes","render","_props","set","canUseDOM","propTypes","defaultTitle","titleTemplate","defaultProps","peek","rewind","mappedState","renderStatic","ex","React","React__default","_defineProperty","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","PureComponent","displayName","getDisplayName","_defineProperties","_objectSpread","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","err","_iterableToArrayLimit","_nonIterableRest","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","MutationObserver","performance","e","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","addEventListener","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","n","FontAwesomeConfig","val","coerce","element","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","w","styles","hooks","shims","namespace","functions","doScroll","test","readyState","listener","removeEventListener","fn","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","process","emit","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","arg","invokeCallback","subscriber","owner","settled","_state","_data","promise","then","reject","handleThenable","resolve","resolved","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","race","meaninglessTransform","x","y","rotate","flipX","flipY","insertCss","css","headChildren","childNodes","beforeChild","toUpperCase","insertBefore","nextUniqueId","Math","random","htmlEscape","joinStyles","acc","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","width","height","fillBlack","abstract","force","fill","makeInlineSvgAbstract","params","_params$icons","icons","main","mask","prefix","iconName","symbol","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","ceil","attrClass","c","classes","role","uploadedIconWidthStyle","args","explicitMaskId","mainWidth","mainPath","icon","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","noop$1","subject","initialValue","thisContext","result","func","d","bindInternal4","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","parseTransformString","transformString","parts","first","rest","parseFloat","isNaN","MissingIcon","stack","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","cx","cy","r","values","opacity","asFoundIcon","vectorData","dfp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","Library","_classCallCheck","_this","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","parse","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","maybeIconDefinition","object","enumerableOnly","symbols","_objectSpread2","getOwnPropertyDescriptors","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","arr2","iter","from","camelize","chr","substr","styleToObject","pair","prop","startsWith","charAt","normalizeIconArgs","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","className","_classes","spin","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","log","extraProps","ref","convertCurry","convert","mixins","attrs","_extraProps$style","existingStyle","Link","to","src","LogoMeci","alt","href","rel","faFacebook","aria-label","faInstagram","faTwitter","faWhatsapp","data-bs-toggle","data-bs-target","aria-controls","aria-expanded","aria-labelledby","layout","faCcVisa","faCcMastercard","Layout","SEO","description","lang","site","useStaticQuery","metaDescription","siteMetadata","author"],"mappings":"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","file":"2ab4bac6ca8bb731a6f99de93d1ce812c6ae9f95-996db80b44c6ea60ae6b.js","sourcesContent":["/* 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};","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 };","'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 /*#__PURE__*/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;","export default __webpack_public_path__ + \"static/logo_original-902e78d97a80233d8b46b912bb31f181.svg\";","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\n\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\n\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\n\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\n\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\n\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\n\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\n\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\n\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon(_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol(_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\n\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.3\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = ('far' in styles);\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\n\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\n\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\n\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\n\nvar disabled = false;\n\nfunction disableObservation() {\n disabled = true;\n}\n\nfunction enableObservation() {\n disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\n\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser(node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser(node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\n\nfunction transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser(node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser(node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\n\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\nvar styles$2 = namespace.styles;\n\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\n\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css() {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\n\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\n\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\n\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n} // Get CSS class list from a props object\n\n\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n} // Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\n\n\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n} // creates an object with a key of key\n// and a value of value\n// if certain conditions are met\n\n\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title,\n titleId: titleId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","import React from 'react'\r\nimport { Link } from 'gatsby'\r\nimport LogoMeci from '../images/logo_original.svg'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport {\r\n faFacebook,\r\n faInstagram,\r\n faTwitter,\r\n faWhatsapp,\r\n} from '@fortawesome/free-brands-svg-icons'\r\n\r\nconst Navigation = () => (\r\n
\r\n
\r\n

\r\n Llame, envíe un correo o un mensaje para resolver sus dudas.\r\n
{' '}\r\n \r\n Tel (81) 1534-9214 | ventas@meci.mx | Cel (+52) 81-3551-4315\r\n \r\n
\r\n \r\n Mercantil de Equipos Contra Incendio S. de R.L. de C.V.\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n)\r\n\r\nexport default Navigation\r\n","export default __webpack_public_path__ + \"static/logo_nocopy-208f3df7246833a3e7c499f20515fe5f.svg\";","import React from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCcMastercard, faCcVisa } from '@fortawesome/free-brands-svg-icons'\r\nimport LogoMeci from '../images/logo_nocopy.svg'\r\nimport { Link } from 'gatsby'\r\n\r\nconst Footer = () => (\r\n
\r\n
\r\n \r\n
\r\n

\r\n Sonora 768 Sur, Col. Nuevo Repueblo\r\n
\r\n Monterrey, Nuevo León, México, C.P. 64700\r\n
\r\n Tel. 81-1534-9214\r\n
\r\n \r\n ventas@meci.mx\r\n \r\n

\r\n
\r\n {/*

\r\n Lic. Edith Guillen\r\n
\r\n Ventas a Gobierno y Licitaciones\r\n
\r\n +52 56-1174-2199\r\n
\r\n eguillen@mercantil.mx\r\n

*/}\r\n

\r\n \r\n Aviso de privacidad\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n)\r\n\r\nexport default Footer\r\n","import React from 'react'\r\nimport Navigation from './navigation'\r\nimport Footer from './footer'\r\nimport { config } from '@fortawesome/fontawesome-svg-core'\r\n\r\nconfig.autoAddCss = false\r\n\r\nexport default function Layout({ children }) {\r\n return (\r\n
\r\n \r\n
{children}
\r\n
\r\n
\r\n )\r\n}\r\n","/**\r\n * SEO component that queries for data with\r\n * Gatsby's useStaticQuery React hook\r\n *\r\n * See: https://www.gatsbyjs.com/docs/use-static-query/\r\n */\r\n\r\nimport * as React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Helmet } from 'react-helmet'\r\nimport { useStaticQuery, graphql } from 'gatsby'\r\n\r\nfunction SEO({ description, lang, meta, title }) {\r\n const { site } = useStaticQuery(\r\n graphql`\r\n query {\r\n site {\r\n siteMetadata {\r\n title\r\n description\r\n author\r\n }\r\n }\r\n }\r\n `\r\n )\r\n\r\n const metaDescription = description || site.siteMetadata.description\r\n //const defaultTitle = site.siteMetadata?.title\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nSEO.defaultProps = {\r\n lang: `es`,\r\n meta: [],\r\n description: ``,\r\n}\r\n\r\nSEO.propTypes = {\r\n description: PropTypes.string,\r\n lang: PropTypes.string,\r\n meta: PropTypes.arrayOf(PropTypes.object),\r\n title: PropTypes.string.isRequired,\r\n}\r\n\r\nexport default SEO\r\n"],"sourceRoot":""}