{"version":3,"sources":["webpack:///./node_modules/@fortawesome/vue-fontawesome/index.es.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js"],"names":["commonjsGlobal","window","global","self","createCommonjsModule","fn","module","exports","humps","_processKeys","convert","obj","options","_isObject","_isDate","_isRegExp","_isBoolean","_isFunction","output","i","l","_isArray","length","push","key","Object","prototype","hasOwnProperty","call","separateWords","string","separator","split","join","camelize","_isNumerical","replace","match","chr","toUpperCase","substr","toLowerCase","pascalize","camelized","decamelize","toString","_processor","callback","process","depascalize","camelizeKeys","object","decamelizeKeys","pascalizeKeys","depascalizeKeys","this","apply","arguments","_typeof","Symbol","iterator","constructor","defineProperty","value","enumerable","configurable","writable","_extends","assign","target","source","objectWithoutProperties","keys","indexOf","toConsumableArray","arr","Array","isArray","arr2","from","styleToObject","style","map","s","trim","filter","reduce","acc","pair","prop","slice","classToObject","cls","c","combineClassObjects","_len","objs","_key","concat","h","element","props","undefined","data","children","bind","mixins","attributes","val","attrs","_data$class","class","dClass","_data$style","dStyle","_data$attrs","dAttrs","remainingData","tag","PRODUCTION","e","log","_console","console","error","objectWithKey","classList","_classes","classes","spin","pulse","fixedWidth","border","listItem","inverse","flip","size","rotation","pull","swapOpacity","addStaticClass","to","what","normalizeIconArgs","icon$$1","icon","prefix","iconName","FontAwesomeIcon","name","functional","type","Boolean","default","String","validator","required","mask","Number","parseInt","transform","symbol","title","render","createElement","context","iconArgs","maskArgs","renderedIcon","abstract","convertCurry","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","_defineProperty","_objectSpread","ownKeys","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_arr","_n","_d","_e","_s","_i","next","done","err","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","document","MutationObserver","performance","_ref","navigator","_ref$userAgent","userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_FAMILY_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","n","FontAwesomeConfig","getAttrConfig","attr","querySelector","getAttribute","coerce","_ref2","_default","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","_config","config","w","styles","hooks","shims","namespace","functions","listener","removeEventListener","loaded","doScroll","test","readyState","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","emit","asyncSetTimer","setImmediate","setTimeout","asyncQueue","asyncFlush","asyncCall","arg","invokeResolver","resolver","promise","resolvePromise","resolve","rejectPromise","reason","reject","invokeCallback","subscriber","owner","settled","_state","_data","then","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","index","race","d","meaninglessTransform","x","y","rotate","flipX","flipY","insertCss","css","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","insertBefore","idPool","nextUniqueId","id","Math","random","htmlEscape","str","joinAttributes","attributeName","joinStyles","styleName","transformIsMeaningful","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","ALL_SPACE","fillBlack","force","fill","deGroup","makeIconMasking","main","explicitMaskId","maskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconStandard","styleString","asIcon","found","offset","asSymbol","makeInlineSvgAbstract","params","_params$icons","icons","titleId","extra","_params$watchable","watchable","isUploadedIcon","widthClass","ceil","attrClass","content","role","uploadedIconWidthStyle","args","makeLayersTextAbstract","_params$watchable2","noop$1","bindInternal4","func","thisContext","a","b","subject","initialValue","result","defineIcons","_params$skipHooks","skipHooks","normalized","expanded","addPack","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","parseTransformString","transformString","parts","first","rest","parseFloat","isNaN","MissingIcon","message","stack","Error","create","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","cx","cy","r","values","opacity","asFoundIcon","_icon$slice","_icon$slice2","vectorData","baseStyles","dfp","drc","fp","rc","dPatt","RegExp","customPropPatt","rPatt","Library","definitions","_this","additions","_pullDefinitions","definition","0","_normalized$key","ensureCss","_cssInserted","apiObject","abstractCreator","get","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","resolveIcons","maybeIconDefinition","iconDefinition","parse","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","text","_params$transform2","_params$title2","_params$classes2","_params$attributes2","_params$styles2"],"mappings":"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","file":"js/npm.fortawesome~14b916ce.3da4d1fe.js","sourcesContent":["import { parse, icon, config, text } from '@fortawesome/fontawesome-svg-core';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar humps = createCommonjsModule(function (module) {\n(function(global) {\n\n var _processKeys = function(convert, obj, options) {\n if(!_isObject(obj) || _isDate(obj) || _isRegExp(obj) || _isBoolean(obj) || _isFunction(obj)) {\n return obj;\n }\n\n var output,\n i = 0,\n l = 0;\n\n if(_isArray(obj)) {\n output = [];\n for(l=obj.length; i= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = humps.camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n\n acc[prop] = value;\n\n return acc;\n }, {});\n}\n\nfunction classToObject(cls) {\n return cls.split(/\\s+/).reduce(function (acc, c) {\n acc[c] = true;\n\n return acc;\n }, {});\n}\n\nfunction combineClassObjects() {\n for (var _len = arguments.length, objs = Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n\n return objs.reduce(function (acc, obj) {\n if (Array.isArray(obj)) {\n acc = acc.concat(obj);\n } else {\n acc.push(obj);\n }\n\n return acc;\n }, []);\n}\n\nfunction convert(h, element) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var children = (element.children || []).map(convert.bind(null, h));\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc['class'] = classToObject(val);\n break;\n case 'style':\n acc['style'] = styleToObject(val);\n break;\n default:\n acc.attrs[key] = val;\n }\n\n return acc;\n }, { 'class': {}, style: {}, attrs: {} });\n\n var _data$class = data.class,\n dClass = _data$class === undefined ? {} : _data$class,\n _data$style = data.style,\n dStyle = _data$style === undefined ? {} : _data$style,\n _data$attrs = data.attrs,\n dAttrs = _data$attrs === undefined ? {} : _data$attrs,\n remainingData = objectWithoutProperties(data, ['class', 'style', 'attrs']);\n\n\n if (typeof element === 'string') {\n return element;\n } else {\n return h(element.tag, _extends({\n class: combineClassObjects(mixins.class, dClass),\n style: _extends({}, mixins.style, dStyle),\n attrs: _extends({}, mixins.attrs, dAttrs)\n }, remainingData, {\n props: props\n }), children);\n }\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction objectWithKey(key, value) {\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? defineProperty({}, key, value) : {};\n}\n\nfunction classList(props) {\n var _classes;\n\n var classes = (_classes = {\n 'fa-spin': props.spin,\n 'fa-pulse': props.pulse,\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-li': props.listItem,\n 'fa-inverse': props.inverse,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both'\n }, defineProperty(_classes, 'fa-' + props.size, props.size !== null), defineProperty(_classes, 'fa-rotate-' + props.rotation, props.rotation !== null), defineProperty(_classes, 'fa-pull-' + props.pull, props.pull !== null), defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes);\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\nfunction addStaticClass(to, what) {\n var val = (to || '').length === 0 ? [] : [to];\n\n return val.concat(what).join(' ');\n}\n\nfunction normalizeIconArgs(icon$$1) {\n if (parse.icon) {\n return parse.icon(icon$$1);\n }\n\n if (icon$$1 === null) {\n return null;\n }\n\n if ((typeof icon$$1 === 'undefined' ? 'undefined' : _typeof(icon$$1)) === 'object' && icon$$1.prefix && icon$$1.iconName) {\n return icon$$1;\n }\n\n if (Array.isArray(icon$$1) && icon$$1.length === 2) {\n return { prefix: icon$$1[0], iconName: icon$$1[1] };\n }\n\n if (typeof icon$$1 === 'string') {\n return { prefix: 'fas', iconName: icon$$1 };\n }\n}\n\nvar FontAwesomeIcon = {\n name: 'FontAwesomeIcon',\n\n functional: true,\n\n props: {\n border: {\n type: Boolean,\n default: false\n },\n fixedWidth: {\n type: Boolean,\n default: false\n },\n flip: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['horizontal', 'vertical', 'both'].indexOf(value) > -1;\n }\n },\n icon: {\n type: [Object, Array, String],\n required: true\n },\n mask: {\n type: [Object, Array, String],\n default: null\n },\n listItem: {\n type: Boolean,\n default: false\n },\n pull: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['right', 'left'].indexOf(value) > -1;\n }\n },\n pulse: {\n type: Boolean,\n default: false\n },\n rotation: {\n type: [String, Number],\n default: null,\n validator: function validator(value) {\n return [90, 180, 270].indexOf(parseInt(value, 10)) > -1;\n }\n },\n swapOpacity: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1;\n }\n },\n spin: {\n type: Boolean,\n default: false\n },\n transform: {\n type: [String, Object],\n default: null\n },\n symbol: {\n type: [Boolean, String],\n default: false\n },\n title: {\n type: String,\n default: null\n },\n inverse: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var props = context.props;\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n title = props.title;\n\n var icon$$1 = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', classList(props));\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(icon$$1, _extends({}, classes, transform, mask, { symbol: symbol, title: title }));\n\n if (!renderedIcon) {\n return log('Could not find one or more icon(s)', icon$$1, mask);\n }\n\n var abstract = renderedIcon.abstract;\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nvar FontAwesomeLayers = {\n name: 'FontAwesomeLayers',\n\n functional: true,\n\n props: {\n fixedWidth: {\n type: Boolean,\n default: false\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var staticClass = context.data.staticClass;\n\n\n var classes = [familyPrefix + '-layers'].concat(toConsumableArray(context.props.fixedWidth ? [familyPrefix + '-fw'] : []));\n\n return createElement('div', _extends({}, context.data, {\n staticClass: addStaticClass(staticClass, classes)\n }), context.children);\n }\n};\n\nvar FontAwesomeLayersText = {\n name: 'FontAwesomeLayersText',\n\n functional: true,\n\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n transform: {\n type: [String, Object],\n default: null\n },\n counter: {\n type: Boolean,\n default: false\n },\n position: {\n type: String,\n default: null,\n validator: function validator(value) {\n return ['bottom-left', 'bottom-right', 'top-left', 'top-right'].indexOf(value) > -1;\n }\n }\n },\n\n render: function render(createElement, context) {\n var familyPrefix = config.familyPrefix;\n var props = context.props;\n\n\n var classes = objectWithKey('classes', [].concat(toConsumableArray(props.counter ? [familyPrefix + '-layers-counter'] : []), toConsumableArray(props.position ? [familyPrefix + '-layers-' + props.position] : [])));\n\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n\n var renderedText = text(props.value.toString(), _extends({}, transform, classes));\n\n var abstract = renderedText.abstract;\n\n\n if (props.counter) {\n abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '');\n }\n\n var convertCurry = convert.bind(null, createElement);\n\n return convertCurry(abstract[0], {}, context.data);\n }\n};\n\nexport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\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];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\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};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\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 getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\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], \";\");\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\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\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\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\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\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n"],"sourceRoot":""}