{"version":3,"file":"commons.js","mappings":"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","sources":["webpack://if-website/./node_modules/@fortawesome/fontawesome-svg-core/index.mjs","webpack://if-website/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://if-website/./src/utils/font-awesome.js","webpack://if-website/./src/components/ui/icon/index.jsx","webpack://if-website/./src/components/ui/icon/styles.module.scss","webpack://if-website/./src/components/ui/link/styles.module.scss","webpack://if-website/./src/components/ui/link/index.jsx","webpack://if-website/./src/components/ui/text/text.module.scss","webpack://if-website/./src/components/ui/text/index.jsx","webpack://if-website/./src/context/HeadlineProvider/HeadlineProvider.js","webpack://if-website/./src/context/locale.context.js","webpack://if-website/./src/context/microcopy.context.js","webpack://if-website/./src/helpers/copy.js","webpack://if-website/./src/helpers/getDynamicPageLink.js","webpack://if-website/./src/helpers/getMagazineArticleLink.js","webpack://if-website/./src/helpers/getPressReleaseLink.js","webpack://if-website/./src/helpers/link.js","webpack://if-website/./src/helpers/styles.js","webpack://if-website/./src/modules/container/styles.module.scss","webpack://if-website/./src/modules/container/index.jsx","webpack://if-website/./src/utils/constants.js","webpack://if-website/./src/styles/404.module.scss","webpack://if-website/./src/helpers/slugify.cjs"],"sourcesContent":["function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n function buildGroups(result, re) {\n var g = _groups.get(re);\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n if (\"function\" == typeof substitution) {\n var _this = this;\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\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 return obj;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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 return _arr;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nvar noop = function noop() {};\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\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) {}\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\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 _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_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'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid',\n 'fasr': 'regular',\n 'fa-regular': 'regular',\n 'fasl': 'light',\n 'fa-light': 'light'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass',\n 'regular': 'fasr',\n 'light': 'fasl'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid',\n 'fasr': 'fa-regular',\n 'fasl': 'fa-light'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass',\n 'fa-regular': 'fasr',\n 'fa-light': 'fasl'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass',\n '400': 'fasr',\n '300': 'fasl'\n}), _familyProxy5));\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: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', 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 || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\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 if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['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 var val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nvar _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_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}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\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};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\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 for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\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}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\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}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\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}\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}\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 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 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}\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-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-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\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-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: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\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-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\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: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(var(--fa-li-width, 2em) * -1);\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n -webkit-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transition-duration: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\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@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 -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\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 z-index: var(--fa-stack-z-index, auto);\\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: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\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.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\";\nfunction css() {\n var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), '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 return s;\n}\nvar _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\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 = [];\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\nvar loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\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 if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\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\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/**\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\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 if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\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 = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, 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 ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\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 _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n var oldUnicode = _byOldUnicode[unicode];\n var newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n if (shim.prefix) {\n givenPrefix = null;\n }\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n return acc;\n }, emptyCanonicalIcon());\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n this.definitions = {};\n }\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, 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 var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n return Library;\n}();\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (tk) {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (hook) {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\n });\n\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n var hook = arguments[0];\n var args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n var iconName = iconLookup.iconName;\n var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\n if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n return {\n prefix: _icon.prefix,\n iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n };\n }\n if (Array.isArray(_icon) && _icon.length === 2) {\n var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\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};\nfunction domVariants(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}\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 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(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\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.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\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 var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].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: _objectSpread2(_objectSpread2({}, 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 if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.attributes;\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\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 var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n var styles = _objectSpread2({}, extra.styles);\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 var styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n var styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n var element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").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 return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nvar missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\nvar noop$1 = function noop() {};\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.4.2\\\"\";\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\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};\nvar perf = {\n begin: begin,\n end: end\n};\nvar noop$2 = function noop() {};\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var _abstract2 = 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 var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[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 return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\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}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\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 var defaultPrefix = getDefaultUsablePrefix();\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 treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\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}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\nfunction styleParser(node) {\n var style = node.getAttribute('style');\n var val = [];\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 if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\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 if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\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 return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\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 return extraAttributes;\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: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\nvar styles$2 = namespace.styles;\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\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 if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n var candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.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 (e) {\n mark();\n reject(e);\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}\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 if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n}\nvar render = function render(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 domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: params\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 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: _objectSpread2(_objectSpread2({}, 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};\nvar ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\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 return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (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 Promise(function (resolve, reject) {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\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 maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n var nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\nvar Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\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.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n};\nvar LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\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 return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n};\nvar LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\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$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\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 return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\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 if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.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 }\n};\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\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 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 var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // 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 && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\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(_objectSpread2(_objectSpread2({}, 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.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\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}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\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}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\nvar _unwatched = false;\nvar MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\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 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 if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n 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 var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(_abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (_abstract.attributes && (_abstract.attributes.fill || force)) {\n _abstract.attributes.fill = 'black';\n }\n return _abstract;\n}\nfunction deGroup(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n}\nvar Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractMask = function (_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: _objectSpread2(_objectSpread2({}, 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: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, 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: _objectSpread2({\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 }\n};\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, 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 var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, 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: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, 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: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\nvar SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar counter = api.counter;\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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 return obj;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\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-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\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}\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\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\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}\nvar _excluded = [\"style\"];\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\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}\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (typeof element === 'string') {\n return element;\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 switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\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 return acc;\n }, {\n attrs: {}\n });\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\nvar PRODUCTION = false;\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n (_console = console).error.apply(_console, arguments);\n }\n}\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\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 if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\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 if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\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}\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\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 maskId = props.maskId;\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(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\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});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, '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 shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: 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 maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","import { library } from '@fortawesome/fontawesome-svg-core';\nimport {\n faAngleLeft,\n faAngleRight,\n faArrowRight,\n faAward,\n faBackspace,\n faBars,\n faBuilding,\n faCalendarAlt,\n faCommentAlt,\n faCopy,\n faFileAlt,\n faCheck,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faChevronUp,\n faClipboardListCheck,\n faDownload,\n faEnvelope,\n faEnvelopeOpenText,\n faFileArchive,\n faFilePdf,\n faGlobe,\n faInfoSquare,\n faLandmark,\n faLink,\n faMapSigns,\n faPlay,\n faSearch,\n faSlidersH,\n faTasks,\n faTimes,\n faThumbsUp,\n faTrophy,\n faUser,\n faUserHeadset,\n faUsers,\n faWindowMaximize,\n faWindowMinimize,\n faShareNodes,\n} from '@fortawesome/pro-light-svg-icons';\nimport {\n faFacebook,\n faInstagram,\n faLinkedin,\n faPinterest,\n faXTwitter,\n faWhatsappSquare,\n faYoutube,\n faWeixin,\n} from '@fortawesome/free-brands-svg-icons';\n\nlibrary.add(\n faAngleLeft,\n faAngleRight,\n faArrowRight,\n faAward,\n faBackspace,\n faBars,\n faBuilding,\n faCalendarAlt,\n faCommentAlt,\n faCopy,\n faFileAlt,\n faShareNodes,\n faCheck,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faChevronUp,\n faClipboardListCheck,\n faDownload,\n faEnvelope,\n faEnvelopeOpenText,\n faFileArchive,\n faFilePdf,\n faGlobe,\n faInfoSquare,\n faLandmark,\n faLink,\n faMapSigns,\n faPlay,\n faSearch,\n faSlidersH,\n faTasks,\n faTimes,\n faThumbsUp,\n faTrophy,\n faUser,\n faUserHeadset,\n faUsers,\n faWindowMaximize,\n faWindowMinimize,\n faFacebook,\n faInstagram,\n faLinkedin,\n faPinterest,\n faXTwitter,\n faWhatsappSquare,\n faYoutube,\n faWeixin\n);\n","import React from 'react';\nimport pt from 'prop-types';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport '../../../utils/font-awesome';\nimport * as styles from './styles.module.scss';\n\nconst Icon = ({ name, size, className, onClick, type, color }) => {\n if (!name) {\n return null;\n }\n\n return onClick ? (\n \n ) : (\n \n );\n};\n\nIcon.propTypes = {\n name: pt.string.isRequired,\n size: pt.string,\n className: pt.string,\n onClick: pt.func,\n type: pt.string,\n color: pt.string,\n};\n\nIcon.defaultProps = {\n className: '',\n size: '1x',\n type: 'fal',\n color: '',\n};\n\nexport default Icon;\n","// extracted by mini-css-extract-plugin\nexport var button = \"styles-module--button--64863\";","// extracted by mini-css-extract-plugin\nexport var button = \"styles-module--button--2c480\";\nexport var ctaIcon = \"styles-module--ctaIcon--3a63e\";\nexport var link = \"styles-module--link--dab40\";\nexport var quaternary = \"styles-module--quaternary--ef9ac\";\nexport var secondary = \"styles-module--secondary--8ae8f\";\nexport var tertiary = \"styles-module--tertiary--21e7b\";\nexport var transparent = \"styles-module--transparent--fb74f\";","import pt from 'prop-types';\nimport React from 'react';\nimport { useLocale } from '../../../context/locale.context';\nimport { getMagazineArticleLink } from '../../../helpers/getMagazineArticleLink';\nimport { getPressReleaseLink } from '../../../helpers/getPressReleaseLink';\nimport {\n buildMailLink,\n buildTelLink,\n normalizeInternalLink,\n} from '../../../helpers/link';\nimport { combine } from '../../../helpers/styles';\nimport Icon from '../icon';\nimport Text from '../text';\nimport * as styles from './styles.module.scss';\nimport { getDynamicPageLink } from '../../../helpers/getDynamicPageLink';\n\nconst Link = ({\n link,\n children,\n asButton,\n btnType,\n btnTransparent,\n allowIcon,\n className,\n download,\n mailto,\n tel,\n useGatsbyLink = true,\n gaId,\n ...props\n}) => {\n const { locale } = useLocale();\n let internal,\n external,\n target = '_self';\n\n if (!link) return null;\n\n // INTERNAL\n if (typeof link.linkToPage === 'string') {\n internal = normalizeInternalLink(link.linkToPage);\n } else if (link.linkToPage?.internal?.type === 'ContentfulArticle') {\n internal = normalizeInternalLink(\n getMagazineArticleLink(link.linkToPage.slug)\n );\n } else if (link.linkToPage?.internal?.type === 'ContentfulPressRelease') {\n internal = normalizeInternalLink(getPressReleaseLink(link.linkToPage.slug));\n } else if (link.linkToPage) {\n internal = normalizeInternalLink(link.linkToPage.slug);\n }\n\n if (link.linkToDynamicPage) {\n internal = getDynamicPageLink(\n link.linkToDynamicPage,\n link.dynamicDetailPageName,\n link.dynamicDetailPageId\n );\n }\n\n if (internal) {\n if (link.queryParameter) {\n // always sort internal link query params so that they are always the same order\n const searchParams = new URLSearchParams(link.queryParameter);\n searchParams.sort();\n internal += `?${searchParams.toString()}`;\n }\n\n if (!internal.startsWith(`/${locale}`)) {\n internal = `/${locale}${internal}`;\n }\n\n if (link.anchor) {\n internal += `#${link.anchor}`;\n }\n }\n // END OF INTERNAL\n\n // EXTERNAL\n external = link.externalLink;\n\n if (link.downloadDocument) {\n external = link.downloadDocument?.document.file?.url;\n } else if (mailto) {\n external = buildMailLink(link.externalLink);\n } else if (tel) {\n external = buildTelLink(link.externalLink);\n } else if (external) {\n external = external.includes('http') ? external : `https://${external}`;\n const pattern =\n /(http|https):\\/\\/(ifdesign.com|www.ifdesign.com)\\/\\w{2}\\//gi;\n const re = new RegExp(pattern);\n if (re.test(external)) {\n external = external.replace(pattern, `/${locale}/`);\n }\n }\n\n if (external) {\n if (!external.startsWith('/')) {\n target = '_blank';\n }\n\n if (external.startsWith('/en') && locale != 'en') {\n external = external.replace('en', locale);\n }\n }\n // END OF EXTERNAL\n\n return (\n \n {asButton ? (\n \n {children}\n \n ) : (\n children\n )}\n {allowIcon && link.icon && (\n \n )}\n \n );\n};\n\nexport const linkProptypes = {\n linkToPage: pt.oneOfType([pt.object, pt.string]),\n externalLink: pt.string,\n transparent: pt.bool,\n allowIcon: pt.bool,\n type: pt.oneOf(['primary', 'secondary', 'tertiary']),\n icon: pt.string,\n linkToDynamicPage: pt.oneOf([\n 'Jury Filterlist',\n 'Company Filterlist',\n 'Project Filterlist',\n 'Event Filterlist',\n 'Company Detail',\n 'Project Detail',\n 'Jury Detail',\n 'Event Detail',\n ]),\n dynamicDetailPageId: pt.number,\n dynamicDetailPageName: pt.string,\n queryParameter: pt.string,\n};\n\nLink.propTypes = {\n link: pt.shape(linkProptypes),\n children: pt.node.isRequired,\n className: pt.string,\n asButton: pt.bool,\n btnType: pt.string,\n btnTransparent: pt.bool,\n mailto: pt.bool,\n tel: pt.bool,\n useGatsbyLink: pt.bool,\n};\n\nexport default Link;\n","// extracted by mini-css-extract-plugin\nexport var articleEditorial = \"text-module--articleEditorial--18eaa\";\nexport var articleType = \"text-module--articleType--df264\";\nexport var bigContent = \"text-module--bigContent--42473\";\nexport var button = \"text-module--button--39ce7\";\nexport var condensed = \"text-module--condensed--0d887\";\nexport var copy2 = \"text-module--copy2--562c8\";\nexport var editorial = \"text-module--editorial--fd2bd\";\nexport var h1 = \"text-module--h1--d481b\";\nexport var h2 = \"text-module--h2--dc774\";\nexport var h3 = \"text-module--h3--58bff\";\nexport var h4 = \"text-module--h4--f7389\";\nexport var headline_cond = \"text-module--headline_cond--b96c7\";\nexport var infotext = \"text-module--infotext--8f6db\";\nexport var italic = \"text-module--italic--a9b95\";\nexport var light = \"text-module--light--88e10\";\nexport var mainNav = \"text-module--mainNav--12a38\";\nexport var metanavi = \"text-module--metanavi--a021e\";\nexport var p1 = \"text-module--p1--bfd3c\";\nexport var p2 = \"text-module--p2--619da\";\nexport var p3 = \"text-module--p3--9ae7b\";\nexport var quoteText = \"text-module--quoteText--546d8\";\nexport var semibold = \"text-module--semibold--e7d22\";\nexport var separator = \"text-module--separator--1c8d3\";\nexport var tag = \"text-module--tag--82374\";\nexport var thin = \"text-module--thin--3c16a\";\nexport var upper = \"text-module--upper--97199\";","import React from 'react';\nimport pt from 'prop-types';\nimport { combine } from '/src/helpers/styles';\nimport * as styles from './text.module.scss';\nimport { ifWordLetterLowercase } from '../../../helpers/copy';\nimport { useHeadlineContext } from '../../../context/HeadlineProvider/HeadlineProvider';\n\nconst Text = ({\n as,\n type,\n variant,\n style,\n className,\n children,\n withoutTransform,\n ...props\n}) => {\n const isHeading = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(as);\n const [headlineAsH1] = useHeadlineContext(false, isHeading);\n const As = headlineAsH1 ? 'h1' : as;\n return (\n \n {type === 'button' && typeof children === 'string' && !withoutTransform\n ? ifWordLetterLowercase(children)\n : children}\n \n );\n};\n\nText.propTypes = {\n as: pt.string,\n type: pt.string,\n variant: pt.string,\n style: pt.string,\n children: pt.node.isRequired,\n className: pt.string,\n withoutTransform: pt.bool,\n};\n\nText.defaultProps = {\n as: 'p',\n type: 'p1',\n variant: '',\n className: '',\n};\n\nexport default Text;\n","import React, {\n createContext,\n useContext,\n useRef,\n useState,\n useEffect,\n} from 'react';\n\nconst HeadlineContext = createContext([false, () => {}]);\n\nconst HeadlineProvider = ({ children }) => {\n const state = useRef(false);\n const setState = (value) => (state.current = value);\n\n return (\n \n {children}\n \n );\n};\n\nconst useHeadlineContext = (isReadOnly, isHeading) => {\n const [state, setState] = useContext(HeadlineContext);\n const [isHeadline, setHeadline] = useState(false);\n\n useEffect(() => {\n if (isReadOnly) {\n return;\n }\n if (isHeading && !state.current) {\n setHeadline(true);\n setState(true);\n }\n }, []);\n\n return [isHeadline, state.current];\n};\n\nexport { HeadlineContext, HeadlineProvider, useHeadlineContext };\n","import { useLocation } from '@reach/router';\nimport { useState } from 'react';\nimport { getLanguageName } from '../utils/constants';\n\nexport const LOCALES = ['en', 'de', 'es'];\n\nexport const useLocale = (node_locale) => {\n const location = useLocation();\n let pathLocale = location?.pathname.split('/').filter((_) => _.length)[0];\n\n const languageToggleOptions = LOCALES.map((loc) => ({\n label: getLanguageName(loc),\n url: location.pathname?.replace(/^\\/([a-z]{2})/, `/${loc}`),\n locale: loc,\n }));\n\n const [locale, setLocale] = useState(() => {\n if (node_locale) return node_locale;\n\n return pathLocale ?? 'en';\n });\n\n // static pages are created without the locale part in their path\n if (!LOCALES.includes(pathLocale)) {\n pathLocale = 'en';\n }\n\n if (pathLocale !== locale) {\n setLocale(pathLocale);\n }\n\n return { locale, setLocale, languageToggleOptions };\n};\n","import { createContext } from 'react';\n\nexport const MicrocopyContext = createContext();\n","import { graphql, useStaticQuery } from 'gatsby';\nimport React from 'react';\nimport { MicrocopyContext } from '../context/microcopy.context';\n\nexport const ifWordLetterLowercase = (str) => {\n const regex = /\\b(if)\\b/gi;\n const uppercaseSentence = str.toUpperCase().replace(regex, 'iF');\n return uppercaseSentence;\n};\n\nexport const ifDesignFixCase = (str, toUpper) => {\n const cased = toUpper ? str.toUpperCase() : str;\n return cased.replace(/(if)(design)/gi, 'iF$2');\n};\n\nexport const getFormattedEmployeeAmount = (amount) => {\n if (amount <= 10) {\n return '1-10';\n }\n if (amount <= 50) {\n return '11-50';\n }\n if (amount <= 100) {\n return '51-100';\n }\n if (amount <= 500) {\n return '101-500';\n }\n if (amount <= 1000) {\n return '501-1000';\n }\n if (amount <= 5000) {\n return '1001-5000';\n }\n return '> 5000';\n};\n\nexport const getCopy = (key, dictionary) =>\n (dictionary && dictionary[key]) || key;\n\nexport const getCopyWithFallback = (key, dictionary, fallback) => {\n const copy = getCopy(key, dictionary);\n\n return copy === key ? fallback : copy;\n};\n\nexport const withMicrocopy = (Component, locale) => (props) => {\n const { allContentfulMicrocopy } = useStaticQuery(\n graphql`\n query {\n allContentfulMicrocopy {\n nodes {\n key\n value\n node_locale\n }\n }\n }\n `\n );\n\n const microcopy = allContentfulMicrocopy.nodes\n .filter((node) => node.node_locale === locale)\n .reduce((acc, curr) => {\n return {\n ...acc,\n [curr.key]: curr.value,\n };\n }, {});\n return (\n \n \n \n );\n};\n\n// transform from camelCase to spaced and uppercase\nexport const formatFilterLabel = (label, activeCount) => {\n const rex = /([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g;\n const newLabel = label.replace(rex, '$1$4 $2$3$5').toUpperCase();\n return activeCount > 0 ? `${newLabel} (${activeCount})` : newLabel;\n};\n","import { DYNAMIC_PAGE_TYPES, STATIC_ROUTES } from '../utils/constants';\nimport { slugify } from './slugify.cjs';\n\nexport const getDynamicPageLink = (type, pageName, pageId) => {\n switch (type) {\n case DYNAMIC_PAGE_TYPES.JURY_FILTER:\n return STATIC_ROUTES.JUROR_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.COMPANY_FILTER:\n return STATIC_ROUTES.COMPANY_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.PROJECT_FILTER:\n return STATIC_ROUTES.PROJECT_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.SP_FILTER:\n return STATIC_ROUTES.SP_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.STUDENT_FILTER:\n return STATIC_ROUTES.STUDENT_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.EVENT_FILTER:\n return STATIC_ROUTES.EVENT_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.COMPANY_DETAIL:\n return `${STATIC_ROUTES.COMPANY_DETAIL}/${slugify(pageName)}/${pageId}`;\n case DYNAMIC_PAGE_TYPES.PROJECT_DETAIL:\n return `${STATIC_ROUTES.PROJECT_DETAIL}/${slugify(pageName)}/${pageId}`;\n case DYNAMIC_PAGE_TYPES.JURY_DETAIL:\n return `${STATIC_ROUTES.JUROR_DETAIL}/${slugify(pageName)}/${pageId}`;\n case DYNAMIC_PAGE_TYPES.EVENT_DETAIL:\n return `${STATIC_ROUTES.EVENT_DETAIL}/${slugify(pageName)}/${pageId}`;\n case DYNAMIC_PAGE_TYPES.EDITORIAL_FILTER:\n return STATIC_ROUTES.EDITORIAL_FILTER_PAGE;\n case DYNAMIC_PAGE_TYPES.RANKING_FILTER:\n return STATIC_ROUTES.WDI_FILTER_PAGE;\n default:\n return null;\n }\n};\n","import { slugify } from './slugify.cjs';\n\nexport const getMagazineArticleLink = (slug) => {\n return `/if-magazine/${slugify(slug, true)}`;\n};\n","import { slugify } from './slugify.cjs';\n\nexport const getPressReleaseLink = (slug) => {\n return `/if-magazine/newsroom/${slugify(slug, true)}`;\n};\n\nexport const getPressReleaseDownloadImagesLink = () => {\n return `/if-magazine/newsroom/download-images`;\n};\n\nexport const getPressReleaseDownloadImagePackagesLink = () => {\n return `/if-magazine/newsroom/download-image-packages`;\n};\n\nexport const getPressReleaseDownloadNewsletterDocumentsLink = () => {\n return `/if-magazine/newsroom/download-newsletter-documents`;\n};\n","import { slugify } from './slugify.cjs';\n\nexport const extractTelOrMailFromLink = (link) =>\n link?.replace(/(^mailto|^tel)\\:\\/?\\/?/, '');\n\nexport const isMailLink = (link) => /^mailto\\:/.test(link);\nexport const isTelLink = (link) => /^tel\\:/.test(link);\nexport const buildMailLink = (email) => `mailto:${email}`;\nexport const buildTelLink = (tel) => `tel:${tel}`;\nexport const withProtocol = (link) => {\n if (!link) {\n return link;\n }\n\n const parts = link.split('//');\n\n if (parts.length === 1) {\n return `https://${link}`;\n }\n\n return [parts[0] || 'https:', parts[1]].join('//');\n};\n\nexport const normalizeInternalLink = (link) => {\n let normalized = link;\n\n if (normalized && !normalized.startsWith('/')) {\n normalized = `/${normalized}`;\n }\n\n normalized = slugify(normalized, true);\n\n return normalized;\n};\n","// To be used every time multiple classes are needed. Can handle boolean expressions\nexport const combine = (...classes) => {\n return classes.filter(Boolean).join(' ');\n};\n\n// To be used to handle extra styles from contentful that might be null\nexport const getExtraStyles = (styles) => styles || {};\n","// extracted by mini-css-extract-plugin\nexport var container = \"styles-module--container--3b2cd\";\nexport var fluid = \"styles-module--fluid--bd843\";\nexport var fullWidth = \"styles-module--fullWidth--c2cdc\";\nexport var noGap = \"styles-module--noGap--8d9c6\";\nexport var small = \"styles-module--small--76ade\";\nexport var whiteBg = \"styles-module--whiteBg--1de09\";","import React, { forwardRef, useEffect } from 'react';\nimport pt from 'prop-types';\nimport { combine } from '../../helpers/styles';\nimport * as styles from './styles.module.scss';\n\nconst Container = forwardRef(\n (\n {\n children,\n fluid,\n fullWidth,\n noGap,\n small,\n hasWhiteBg,\n innerClass,\n className,\n id,\n ...props\n },\n ref\n ) => {\n return small ? (\n \n
\n {children}\n
\n \n ) : (\n \n {children}\n \n );\n }\n);\n\nContainer.propTypes = {\n children: pt.node.isRequired,\n className: pt.string,\n innerClass: pt.string,\n fluid: pt.bool,\n small: pt.bool,\n hasWhiteBg: pt.bool,\n noGap: pt.bool,\n fullWidth: pt.bool,\n id: pt.string,\n};\n\nContainer.defaultProps = {\n className: '',\n innerClass: '',\n fluid: false,\n noGap: false,\n small: false,\n fullWidth: false,\n hasWhiteBg: false,\n id: '',\n};\n\nexport default Container;\n","export const breakpoints = {\n small: 768,\n large: 992,\n};\n\nexport const navigationHeights = {\n bigNavi: 80,\n smallNavi: 44,\n};\n\nexport const socialShareUrls = [\n { id: 'facebook', url: 'https://facebook.com/sharer/sharer.php?u=' },\n { id: 'twitter', url: 'https://twitter.com/intent/tweet/?text=&url=' },\n { id: 'mail', url: 'mailto:?subject=&body=' },\n { id: 'pinterest', url: 'https://pinterest.com/pin/create/button/?url=' },\n {\n id: 'linkedin',\n url: 'https://www.linkedin.com/shareArticle?mini=true&url=',\n },\n { id: 'whatsapp', url: 'https://api.whatsapp.com/send?text=' },\n];\n\nexport const getCountryName = (locale, code) => {\n if (!code) return null;\n\n const countryCode = code.toUpperCase();\n\n const countryNames = {\n en: {\n KR: 'Republic of Korea',\n },\n es: {\n KR: 'República de Corea',\n },\n de: {\n KR: 'Republik Korea',\n },\n kr: {\n KR: '대한민국',\n },\n };\n\n return (\n countryNames[locale][countryCode] ||\n new Intl.DisplayNames([locale], { type: 'region' }).of(countryCode)\n );\n};\n\nexport const getLanguageName = (languageCode) => {\n return new Intl.DisplayNames(languageCode, { type: 'language' }).of(\n languageCode.toUpperCase()\n );\n};\n\nexport const AWARDS = {\n IFDTA: 'iF DESIGN TALENT AWARD',\n IFDSA: 'iF DESIGN STUDENT AWARD',\n IFDSA_BEST: 'iF DESIGN STUDENT AWARD Best of the Year',\n IFDA: 'iF DESIGN AWARD',\n IFDA_GOLD: 'iF DESIGN AWARD Gold',\n IFSIP: 'iF SOCIAL IMPACT PRIZE',\n};\n\nexport const IF_RANKING_PROFILE_TYPES = {\n COMPANY: 'COMPANY',\n DESIGN_AND_ARCHITECTURE_STUDIO: 'DESIGN_AND_ARCHITECTURE_STUDIO',\n INHOUSE_DESIGN_TEAM: 'INHOUSE_DESIGN_TEAM',\n};\n\nexport const AWARD_IDS = {\n IFDA: 2,\n IFDA_GOLD: 9999,\n IFSIP: 5,\n IF_SIP_SUPPORTED: 8888,\n IFDSA: 1,\n IFDSA_BEST: 7777,\n};\n\nexport const DEFAULT_IF_RANKING_PROFILE_TYPE = IF_RANKING_PROFILE_TYPES.COMPANY;\n\nexport const API_ROUTES = {\n PROJECT_DETAIL: '/api/entry/id',\n FIND_SUGGESTION: '/api/entry/find',\n FIND_JUROR_SUGGESTION: '/api/juror/find',\n FIND_COMPANY_SUGGESTION: '/api/company/find',\n RANDOM_COMPANIES: '/api/company/random',\n RANDOM_PROJECTS: '/api/entry/random',\n COMPANY_DETAIL: '/api/company/id',\n JUROR_DETAIL: '/api/juror/id',\n RANDOM_JUROR: '/api/juror/random',\n COLLECTION_DETAIL: '/api/collection/id',\n ENTRIES: '/api/entry/all',\n ENTRIES_FILTERS: '/api/entry/filter',\n ENTRIES_RANDOM: '/api/entry/random',\n EVENT_ICS: '/api/event/id/eventId/ics',\n ENTRIES_CATEGORIES: '/api/entry/categories',\n ENTRIES_NAVIGATION: '/api/entry/navigation',\n EVENTS: '/api/event/all',\n EVENTS_DETAIL: '/api/event/id',\n EVENTS_FILTERS: '/api/event/filter',\n EVENTS_RANDOM: '/api/event/random',\n COMPANIES: '/api/company/all',\n COMPANIES_FILTERS: '/api/company/filter',\n COMPANIES_RANDOM: '/api/company/random',\n COMPANIES_NAVIGATION: '/api/company/navigation',\n JURORS: '/api/juror/all',\n JURORS_FILTERS: '/api/juror/filter',\n JURORS_RANDOM: '/api/juror/random',\n PORTFOLIO_DETAIL: '/api/portfolio/id',\n TOP_BYCONTINENT: '/api/top/bycontinent',\n TOP_BYCOUNTRY: '/api/top/bycountry',\n RANKING: '/api/ranking',\n RANKING_FILTERS: '/api/ranking/filter',\n TRACK_SEARCH: '/api/track',\n UNPAGINATED_COMPANIES: '/api/company/all/unpaginated',\n UNPAGINATED_JURORS: '/api/juror/all/unpaginated',\n UNPAGINATED_PROJECTS: '/api/entry/all/unpaginated',\n WDI_FILTERS: '/api/top/bycountry/filter',\n SEARCH_SUGGESTION: '/api/find/',\n SEARCH_WINNER_FILTER: '/api/search/entry/filter',\n SEARCH_WINNER_DYNAMIC_FILTER: '/api/search/entry/filter/dynamic',\n SEARCH_WINNER: '/api/search/entry',\n SEARCH_WINNER_COUNT: '/api/search/entry/count',\n SEARCH_COMPANY: '/api/search/company',\n SEARCH_ARTICLE: '/api/search/article',\n SEARCH_JUROR: '/api/search/juror',\n SEARCH_RECOMMENDED: '/api/search/recommended',\n SIP: '/api/entry/sip/all',\n TALENT_JURORS: '/api/juror/talent',\n HCAPTCHA_TOKEN: '/api/captcha/token',\n};\n\nexport const STATIC_ROUTES = {\n JUROR_FILTER_PAGE: '/if-design-award-and-jury/jury/overview',\n COMPANY_FILTER_PAGE: '/brands-creatives/overview',\n PROJECT_FILTER_PAGE: '/winner-ranking/winner-overview',\n SP_FILTER_PAGE: '/social-engagement/sip/winner-overview',\n STUDENT_FILTER_PAGE: '/social-engagement/student-award/winner-overview',\n EVENT_FILTER_PAGE: '/if-magazine/events/overview',\n EDITORIAL_FILTER_PAGE: '/if-magazine/editorial-filter',\n WDI_FILTER_PAGE: '/if-design-ranking',\n COMPANY_DETAIL: '/brands-creatives/company',\n PROJECT_DETAIL: '/winner-ranking/winner',\n JUROR_DETAIL: '/if-design-award-and-jury/jury/profile',\n EVENT_DETAIL: '/if-magazine/events/detail',\n};\n\nexport const DYNAMIC_PAGE_TYPES = {\n JURY_FILTER: 'Jury Filterlist',\n COMPANY_FILTER: 'Company Filterlist',\n PROJECT_FILTER: 'Project Filterlist',\n SP_FILTER: 'SP Filterlist',\n STUDENT_FILTER: 'Student Filterlist',\n EVENT_FILTER: 'Event Filterlist',\n COMPANY_DETAIL: 'Company Detail',\n PROJECT_DETAIL: 'Project Detail',\n JURY_DETAIL: 'Jury Detail',\n EVENT_DETAIL: 'Event Detail',\n EDITORIAL_FILTER: 'Editorial Filter',\n RANKING_FILTER: 'Ranking Filterlist',\n};\n","// extracted by mini-css-extract-plugin\nexport var contentContainer = \"_404-module--contentContainer--e0568\";\nexport var header = \"_404-module--header--55f20\";\nexport var headline = \"_404-module--headline--bba8c\";\nexport var logo = \"_404-module--logo--f3d20\";\nexport var pageStyles = \"_404-module--pageStyles--b56ac\";\nexport var text = \"_404-module--text--52252\";\nexport var white = \"_404-module--white--87d3f\";","exports.slugify = (value, preserveDashes) => {\n if (!value) {\n return value;\n }\n\n const regex = preserveDashes ? /[^a-z0-9 -]/g : /[^a-z0-9 ]/g;\n\n // separate path from query parameters, which we don't want to format\n const [path, queryParameters] = value.split('?');\n\n const slugifiedPath = path\n ?.split('/')\n .map((part) =>\n replaceGermanCharacters(part)\n .normalize('NFD') // split an accented letter in the base letter and the acent\n .replace(/[\\u0300-\\u036f]/g, '') // remove all previously split accents\n .toLowerCase()\n .trim()\n .replace(regex, '') // remove all chars not letters, numbers and spaces (to be replaced)\n .replace(/\\s+/g, '-')\n )\n .join('/'); // separator\n\n return queryParameters\n ? slugifiedPath.concat(`?${queryParameters}`)\n : slugifiedPath;\n};\n\nconst replaceGermanCharacters = (str) => {\n return str\n .replace(/\\u00df/g, 'ss')\n .replace(/\\u00e4/g, 'ae')\n .replace(/\\u00f6/g, 'oe')\n .replace(/\\u00fc/g, 'ue')\n .replace(/\\u00c4/g, 'Ae')\n .replace(/\\u00d6/g, 'Oe')\n .replace(/\\u00dc/g, 'Ue');\n};\n"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","props","descriptor","configurable","writable","value","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","call","next","done","err","_iterableToArrayLimit","_unsupportedIterableToArray","TypeError","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","o","minLen","n","toString","slice","name","test","len","arr2","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","e","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","Proxy","get","prop","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","concat","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","prefixes","Set","map","add","bind","RESERVED_CLASSES","initial","FontAwesomeConfig","querySelector","_ref","_ref2","attr","val","coerce","element","getAttribute","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","d","meaninglessTransform","size","x","y","rotate","flipX","flipY","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinStyles","styles","reduce","acc","styleName","trim","transformIsMeaningful","transform","baseStyles","css","dcp","drc","fp","rc","s","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w","shims","namespace","functions","loaded","toHtml","abstractNodes","tag","_abstractNodes$attrib","attributes","_abstractNodes$childr","children","attributeName","joinAttributes","join","iconFromMapping","mapping","prefix","iconName","icon","doScroll","readyState","listener","removeEventListener","fn","subject","initialValue","thisContext","result","undefined","func","a","b","c","bindInternal4","toHex","unicode","decoded","string","output","counter","charCodeAt","extra","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","values","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","parts","build","lookup","reducer","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","emptyCanonicalIcon","rest","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","includes","some","v","canonical","aliasIconName","Library","instance","Constructor","_classCallCheck","this","definitions","protoProps","staticProps","_this","_len","_key","additions","_pullDefinitions","longPrefix","definition","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hook","accumulator","args","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","i2svg","params","Promise","reject","watch","autoReplaceSvgRoot","autoReplace","setTimeout","api","noAuto","parse","_icon","match","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","abstract","container","html","makeInlineSvgAbstract","_params$icons","main","mask","symbol","title","maskId","titleId","_params$watchable","watchable","found","width","height","isUploadedIcon","attrClass","classes","content","role","uploadedIconWidthStyle","asSymbol","offset","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","class","styles$1","asFoundIcon","vectorData","fill","missingIconResolutionMixin","findIcon","resolve","console","error","maybeNotifyMissing","noop$1","p","preamble","end","perf","begin","noop$2","isWatched","createElementNS","convertSVG","abstractObj","_params$ceFn","ceFn","createTextNode","appendChild","mutators","mutation","parentNode","_abstract","comment","createComment","outerHTML","nodeAsComment","replaceChild","remove","nest","_abstract2","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","mutator","disabled","disableObservation","enableObservation","mo","observe","options","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","type","addedNodes","hasPrefixAndIcon","_getCanonicalIcon","contains","childList","characterData","subtree","classParser","ligature","existingPrefix","existingIconName","innerText","firstChild","nodeType","Node","TEXT_NODE","data","parseMeta","parser","styleParser","_classParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","f","prefixesDomQuery","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","render","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","_ref3","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","LayersText","text","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","position","pendingAttribute","oldUnicode","newUnicode","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","toLowerCase","_hexValueFromContent","index","second","first","cleaned","codePoint","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","startsWith","iconIdentifier","iconName4","meta","processable","operations","_unwatched","parseTransformString","transformString","parseFloat","isNaN","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","matches","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","r","opacity","nextPlugins","mixoutsTo","k","plugin","tk","sk","registerPlugins","pseudoElements2svg","unwatch","bootstrap","disconnect","symbolData","library$1","parse$1","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","camelize","chr","substr","_excluded","normalizeIconArgs","objectWithKey","FontAwesomeIcon","ref","iconArgs","maskArgs","className","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","border","listItem","flip","rotation","pull","swapOpacity","renderedIcon","_console","log","extraProps","defaultProps","hasOwnProperty","convertCurry","displayName","propTypes","convert","mixins","attrs","pair","charAt","_extraProps$style","existingStyle","remaining","faAngleLeft","faAngleRight","faArrowRight","faAward","faBackspace","faBars","faBuilding","faCalendarAlt","faCommentAlt","faCopy","faFileAlt","faShareNodes","faCheck","faChevronDown","faChevronLeft","faChevronRight","faChevronUp","faClipboardListCheck","faDownload","faEnvelope","faEnvelopeOpenText","faFileArchive","faFilePdf","faGlobe","faInfoSquare","faLandmark","faLink","faMapSigns","faPlay","faSearch","faSlidersH","faTasks","faTimes","faThumbsUp","faTrophy","faUser","faUserHeadset","faUsers","faWindowMaximize","faWindowMinimize","faFacebook","faInstagram","faLinkedin","faPinterest","faXTwitter","faWhatsappSquare","faYoutube","faWeixin","Icon","onClick","color","React","pt","ctaIcon","quaternary","secondary","tertiary","transparent","Link","link","asButton","btnType","btnTransparent","allowIcon","download","mailto","tel","useGatsbyLink","gaId","_link$linkToPage","_link$linkToPage$inte","_link$linkToPage2","_link$linkToPage2$int","locale","useLocale","internal","external","linkToPage","normalizeInternalLink","getMagazineArticleLink","slug","getPressReleaseLink","linkToDynamicPage","getDynamicPageLink","dynamicDetailPageName","dynamicDetailPageId","queryParameter","searchParams","URLSearchParams","sort","anchor","_link$downloadDocumen","_link$downloadDocumen2","externalLink","downloadDocument","file","url","buildMailLink","buildTelLink","pattern","_extends","href","rel","combine","Text","as","linkProptypes","articleEditorial","articleType","bigContent","condensed","copy2","editorial","h1","h2","h3","h4","headline_cond","infotext","italic","light","mainNav","metanavi","p1","p2","p3","quoteText","semibold","separator","thin","upper","variant","withoutTransform","isHeading","headlineAsH1","useHeadlineContext","As","ifWordLetterLowercase","HeadlineContext","createContext","HeadlineProvider","state","useRef","Provider","current","isReadOnly","setState","useContext","isHeadline","setHeadline","useState","useEffect","LOCALES","node_locale","location","useLocation","pathLocale","pathname","_","languageToggleOptions","loc","_location$pathname","label","getLanguageName","setLocale","_pathLocale","MicrocopyContext","getFormattedEmployeeAmount","amount","getCopy","dictionary","getCopyWithFallback","fallback","copy","withMicrocopy","Component","allContentfulMicrocopy","useStaticQuery","microcopy","nodes","curr","formatFilterLabel","activeCount","newLabel","pageName","pageId","DYNAMIC_PAGE_TYPES","STATIC_ROUTES","slugify","getPressReleaseDownloadImagesLink","getPressReleaseDownloadImagePackagesLink","getPressReleaseDownloadNewsletterDocumentsLink","extractTelOrMailFromLink","isMailLink","isTelLink","email","withProtocol","Boolean","Container","forwardRef","fluid","fullWidth","noGap","small","hasWhiteBg","innerClass","breakpoints","large","socialShareUrls","getCountryName","code","countryCode","en","KR","es","de","kr","Intl","DisplayNames","of","languageCode","AWARDS","IFDTA","IFDSA","IFDSA_BEST","IFDA","IFDA_GOLD","IFSIP","IF_RANKING_PROFILE_TYPES","COMPANY","DESIGN_AND_ARCHITECTURE_STUDIO","INHOUSE_DESIGN_TEAM","AWARD_IDS","IF_SIP_SUPPORTED","DEFAULT_IF_RANKING_PROFILE_TYPE","API_ROUTES","PROJECT_DETAIL","FIND_SUGGESTION","FIND_JUROR_SUGGESTION","FIND_COMPANY_SUGGESTION","RANDOM_COMPANIES","RANDOM_PROJECTS","COMPANY_DETAIL","JUROR_DETAIL","RANDOM_JUROR","COLLECTION_DETAIL","ENTRIES","ENTRIES_FILTERS","ENTRIES_RANDOM","EVENT_ICS","ENTRIES_CATEGORIES","ENTRIES_NAVIGATION","EVENTS","EVENTS_DETAIL","EVENTS_FILTERS","EVENTS_RANDOM","COMPANIES","COMPANIES_FILTERS","COMPANIES_RANDOM","COMPANIES_NAVIGATION","JURORS","JURORS_FILTERS","JURORS_RANDOM","PORTFOLIO_DETAIL","TOP_BYCONTINENT","TOP_BYCOUNTRY","RANKING","RANKING_FILTERS","TRACK_SEARCH","UNPAGINATED_COMPANIES","UNPAGINATED_JURORS","UNPAGINATED_PROJECTS","WDI_FILTERS","SEARCH_SUGGESTION","SEARCH_WINNER_FILTER","SEARCH_WINNER_DYNAMIC_FILTER","SEARCH_WINNER","SEARCH_WINNER_COUNT","SEARCH_COMPANY","SEARCH_ARTICLE","SEARCH_JUROR","SEARCH_RECOMMENDED","SIP","TALENT_JURORS","HCAPTCHA_TOKEN","JUROR_FILTER_PAGE","COMPANY_FILTER_PAGE","PROJECT_FILTER_PAGE","SP_FILTER_PAGE","STUDENT_FILTER_PAGE","EVENT_FILTER_PAGE","EDITORIAL_FILTER_PAGE","WDI_FILTER_PAGE","EVENT_DETAIL","JURY_FILTER","COMPANY_FILTER","PROJECT_FILTER","SP_FILTER","STUDENT_FILTER","EVENT_FILTER","JURY_DETAIL","EDITORIAL_FILTER","RANKING_FILTER","contentContainer","header","headline","logo","pageStyles","white","exports","preserveDashes","regex","queryParameters","slugifiedPath","part","replaceGermanCharacters","normalize"],"sourceRoot":""}