{ "version": 3, "sources": ["../node_modules/@fortawesome/pro-light-svg-icons/faMagnifyingGlass.js", "../node_modules/@fortawesome/free-solid-svg-icons/faMagnifyingGlass.js", "../node_modules/@fortawesome/free-solid-svg-icons/faChevronDown.js", "../node_modules/@fortawesome/free-solid-svg-icons/faChevronUp.js", "../node_modules/@fortawesome/free-solid-svg-icons/faChevronRight.js", "../node_modules/@fortawesome/free-solid-svg-icons/faChevronLeft.js", "../node_modules/@fortawesome/free-solid-svg-icons/faBars.js", "../node_modules/@fortawesome/pro-light-svg-icons/faXmark.js", "../node_modules/@fortawesome/free-solid-svg-icons/faXmark.js", "../node_modules/@fortawesome/free-solid-svg-icons/faEnvelopeOpen.js", "../node_modules/@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare.js", "../node_modules/@fortawesome/free-regular-svg-icons/faSquareMinus.js", "../node_modules/@fortawesome/free-regular-svg-icons/faSquarePlus.js", "../node_modules/@fortawesome/free-regular-svg-icons/faEnvelope.js", "../node_modules/@fortawesome/free-brands-svg-icons/faFacebook.js", "../node_modules/@fortawesome/free-brands-svg-icons/faTwitter.js", "../node_modules/@fortawesome/free-brands-svg-icons/faInstagram.js", "../node_modules/@fortawesome/free-brands-svg-icons/faYoutube.js", "../node_modules/@fortawesome/free-brands-svg-icons/faPinterest.js", "../node_modules/@fortawesome/free-brands-svg-icons/faXTwitter.js", "../node_modules/@fortawesome/free-brands-svg-icons/faMastodon.js", "../node_modules/@fortawesome/free-brands-svg-icons/faThreads.js", "../node_modules/@fortawesome/free-brands-svg-icons/faTiktok.js", "../scripts/src/components/dialog.ts", "../scripts/src/helpers/height-calculator.ts", "../scripts/src/components/top-nav.ts", "../scripts/src/components/subscribe-dialog.ts", "../scripts/src/components/banners.ts", "../scripts/src/components/carousel.ts", "../scripts/src/components/forms.ts", "../scripts/src/components/textarea.ts", "../scripts/src/components/autocomplete.ts", "../scripts/src/components/collapsible-nav.ts", "../scripts/src/components/email-subscribe-injector.ts", "../scripts/src/components/accordian.ts", "../scripts/src/components/masonry.ts", "../scripts/src/components/category-articles.ts", "../scripts/src/components/image.ts", "../scripts/src/components/search-page.ts", "../node_modules/@fortawesome/fontawesome-svg-core/index.mjs", "../scripts/src/global/fonts.ts"], "sourcesContent": ["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'magnifying-glass';\nvar width = 512;\nvar height = 512;\nvar aliases = [128269,\"search\"];\nvar unicode = 'f002';\nvar svgPathData = 'M384 208A176 176 0 1 0 32 208a176 176 0 1 0 352 0zM343.3 366C307 397.2 259.7 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 51.7-18.8 99-50 135.3L507.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L343.3 366z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faMagnifyingGlass = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'magnifying-glass';\nvar width = 512;\nvar height = 512;\nvar aliases = [128269,\"search\"];\nvar unicode = 'f002';\nvar svgPathData = 'M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faMagnifyingGlass = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-down';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f078';\nvar svgPathData = 'M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronDown = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-up';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f077';\nvar svgPathData = 'M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronUp = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-right';\nvar width = 320;\nvar height = 512;\nvar aliases = [9002];\nvar unicode = 'f054';\nvar svgPathData = 'M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronRight = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'chevron-left';\nvar width = 320;\nvar height = 512;\nvar aliases = [9001];\nvar unicode = 'f053';\nvar svgPathData = 'M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faChevronLeft = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'bars';\nvar width = 448;\nvar height = 512;\nvar aliases = [\"navicon\"];\nvar unicode = 'f0c9';\nvar svgPathData = 'M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faBars = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fal';\nvar iconName = 'xmark';\nvar width = 384;\nvar height = 512;\nvar aliases = [128473,10005,10006,10060,215,\"close\",\"multiply\",\"remove\",\"times\"];\nvar unicode = 'f00d';\nvar svgPathData = 'M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.5 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faXmark = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'xmark';\nvar width = 384;\nvar height = 512;\nvar aliases = [128473,10005,10006,10060,215,\"close\",\"multiply\",\"remove\",\"times\"];\nvar unicode = 'f00d';\nvar svgPathData = 'M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faXmark = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'envelope-open';\nvar width = 512;\nvar height = 512;\nvar aliases = [62135];\nvar unicode = 'f2b6';\nvar svgPathData = 'M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEnvelopeOpen = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'arrow-up-right-from-square';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"external-link\"];\nvar unicode = 'f08e';\nvar svgPathData = 'M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faArrowUpRightFromSquare = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'square-minus';\nvar width = 448;\nvar height = 512;\nvar aliases = [61767,\"minus-square\"];\nvar unicode = 'f146';\nvar svgPathData = 'M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM152 232H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faSquareMinus = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'square-plus';\nvar width = 448;\nvar height = 512;\nvar aliases = [61846,\"plus-square\"];\nvar unicode = 'f0fe';\nvar svgPathData = 'M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faSquarePlus = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'far';\nvar iconName = 'envelope';\nvar width = 512;\nvar height = 512;\nvar aliases = [128386,9993,61443];\nvar unicode = 'f0e0';\nvar svgPathData = 'M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEnvelope = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'facebook';\nvar width = 512;\nvar height = 512;\nvar aliases = [62000];\nvar unicode = 'f09a';\nvar svgPathData = 'M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faFacebook = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'twitter';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f099';\nvar svgPathData = 'M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTwitter = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'instagram';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f16d';\nvar svgPathData = 'M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faInstagram = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'youtube';\nvar width = 576;\nvar height = 512;\nvar aliases = [61802];\nvar unicode = 'f167';\nvar svgPathData = 'M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faYoutube = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'pinterest';\nvar width = 496;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f0d2';\nvar svgPathData = 'M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faPinterest = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'x-twitter';\nvar width = 512;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e61b';\nvar svgPathData = 'M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faXTwitter = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'mastodon';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f4f6';\nvar svgPathData = 'M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faMastodon = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'threads';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e618';\nvar svgPathData = 'M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faThreads = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fab';\nvar iconName = 'tiktok';\nvar width = 448;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'e07b';\nvar svgPathData = 'M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faTiktok = exports.definition;\nexports.prefix = prefix;\nexports.iconName = iconName;\nexports.width = width;\nexports.height = height;\nexports.ligatures = aliases;\nexports.unicode = unicode;\nexports.svgPathData = svgPathData;\nexports.aliases = aliases;", "class AANDialog {\r\n\tstatic openDialog(dialogId: string): void {\r\n\t\tconst dialog: HTMLElement = (window as any)[dialogId]\r\n\t\t// Not all browsers support the dialog element yet. as a result TypeScrupt doesn't recognize it.\r\n\t\t// We are polyfilling it so this will make TypeScript ignore the call.\r\n\t\t;(dialog as any).showModal();\r\n\t\t// When displaying the login dialog, disable scrolling on the main body element,\r\n\t\t// not having this causes mobile browsers to get confused as to what element should be scrolled.\r\n\t\tdocument.body.style.overflow = \"hidden\";\r\n\r\n\t\tdialog.addEventListener(\"close\", () => {\r\n\t\t\tdocument.body.style.overflow = \"\";\r\n\t\t});\r\n\t}\r\n\r\n\tinit() {\r\n\t\tconst dialogs = Array.from(document.querySelectorAll(\"dialog\"));\r\n\r\n\t\tif (!dialogs || dialogs.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdialogs.forEach(dialog => {\r\n\t\t\tconst closeButton = dialog.querySelector(\".btn-close\");\r\n\r\n\t\t\tcloseButton?.addEventListener(\"click\", event => {\r\n\t\t\t\t// Not all browsers support the dialog element yet. as a result TypeScrupt doesn't recognize it.\r\n\t\t\t\t// We are polyfilling it so this will make TypeScript ignore the call.\r\n\t\t\t\t;(dialog as any).close();\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tevent.stopPropagation();\r\n\t\t\t});\r\n\r\n\t\t\t// Close the dialog when the backdrop is clicked.\r\n\t\t\tdialog.addEventListener(\"click\", function (event) {\r\n\t\t\t\tconst rect = dialog.getBoundingClientRect();\r\n\t\t\t\tconst isInDialog =\r\n\t\t\t\t\trect.top <= event.clientY &&\r\n\t\t\t\t\tevent.clientY <= rect.top + rect.height &&\r\n\t\t\t\t\trect.left <= event.clientX &&\r\n\t\t\t\t\tevent.clientX <= rect.left + rect.width;\r\n\r\n\t\t\t\tif (!isInDialog && !(event.target instanceof HTMLButtonElement)) {\r\n\t\t\t\t\t// Not all browsers support the dialog element yet. as a result TypeScrupt doesn't recognize it.\r\n\t\t\t\t\t// We are polyfilling it so this will make TypeScript ignore the call.\r\n\t\t\t\t\t;(dialog as any).close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst dialogs = new AANDialog();\r\n\r\n\tdialogs.init();\r\n});\r\n", "\uFEFFexport class HeightCalculator {\r\n\tstatic ComputeHeight(element: HTMLElement): number {\r\n\t\tconst childElements = Array.from(element.children);\r\n\t\tconst elementStyles = getComputedStyle(element);\r\n\r\n\t\tconst heightOfChildren = childElements.map(childElement => getComputedStyle(childElement))\r\n\t\t\t.reduce((height, elementStyles) => {\r\n\t\t\t\treturn height\r\n\t\t\t\t\t+ parseInt(elementStyles.height)\r\n\t\t\t\t\t+ parseInt(elementStyles.marginBottom)\r\n\t\t\t\t\t+ parseInt(elementStyles.marginTop);\r\n\t\t\t}, 0);\r\n\r\n\t\treturn heightOfChildren + parseInt(elementStyles.paddingBottom) + parseInt(elementStyles.paddingTop);\r\n\t}\r\n}\r\n", "import { HeightCalculator } from \"../helpers/height-calculator\";\r\n\r\nexport class TopNav {\r\n\tinit() {\r\n\t\tconst navGroups =\r\n\t\t\tdocument.querySelectorAll(\".nav-group\");\r\n\r\n\t\tnavGroups.forEach(navGroup => {\r\n\t\t\tconst navElement = navGroup.querySelector(\"nav\");\r\n\r\n\t\t\tif (navElement === null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst computedHeight = HeightCalculator.ComputeHeight(navElement);\r\n\r\n\t\t\tnavElement.style.height = `${computedHeight}px`;\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst topNav = new TopNav();\r\n\ttopNav.init();\r\n});\r\n", "type ShowenSubscribeStorage = {\r\n\texpired?: Date\r\n}\r\n\r\nexport class SubscribeDialog {\r\n\tasync init() {\r\n\t\tconst subscribeDialog = document.querySelector(\r\n\t\t\t\"dialog.subscribe-dialog:not(.do-not-show)\"\r\n\t\t);\r\n\t\tconst shownSubscribeBox = this.createShowenSubscribeStorage(\r\n\t\t\tJSON.parse(\r\n\t\t\t\twindow.localStorage.shownSubscribeBox ?? \"{}\"\r\n\t\t\t) as Partial\r\n\t\t);\r\n\r\n\t\tif (\r\n\t\t\tsubscribeDialog &&\r\n\t\t\t(!shownSubscribeBox.expired || shownSubscribeBox.expired < new Date())\r\n\t\t) {\r\n\t\t\tconst isSubscribed = await fetch(\r\n\t\t\t\t\"/HomePage/IsSubscribed\"\r\n\t\t\t).then(response => response.text());\r\n\r\n\t\t\tif (isSubscribed.toLowerCase() === \"true\") {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\twindow.setTimeout(function () {\r\n\t\t\t\t;(subscribeDialog as any).showModal();\r\n\r\n\t\t\t\tconst expired = new Date(\r\n\t\t\t\t\tnew Date().setTime(new Date().getTime() + 24 * 60 * 60 * 1000)\r\n\t\t\t\t);\r\n\t\t\t\twindow.localStorage.shownSubscribeBox = JSON.stringify({\r\n\t\t\t\t\texpired: expired,\r\n\t\t\t\t});\r\n\t\t\t}, 15000);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate createShowenSubscribeStorage(\r\n\t\tparams: Partial\r\n\t): ShowenSubscribeStorage {\r\n\t\treturn {\r\n\t\t\texpired: params.expired ? new Date(params.expired) : undefined,\r\n\t\t};\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", async () => {\r\n\tconst subscribeDialog = new SubscribeDialog();\r\n\tawait subscribeDialog.init();\r\n});\r\n", "export class Banners {\r\n\tinit() {\r\n\t\tconst bannerCloseButtons = document.querySelectorAll(\r\n\t\t\t\"body > .alert .btn-close, .gdpr-alert .btn-close\"\r\n\t\t);\r\n\r\n\t\tbannerCloseButtons.forEach(closeButton => {\r\n\t\t\tcloseButton.addEventListener(\"click\", () => {\r\n\t\t\t\tconst parentElement = closeButton.parentElement;\r\n\t\t\t\tif (!parentElement) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparentElement.style.display = \"none\";\r\n\r\n\t\t\t\tif (parentElement.classList.contains(\"gdpr-alert\")) {\r\n\t\t\t\t\tdocument.cookie = \"GDPRAlert=True\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst banners = new Banners();\r\n\tbanners.init();\r\n});\r\n", "export class Carousel {\r\n\tinit() {\r\n\t\tconst carousels = document.querySelectorAll(\".carousel\");\r\n\r\n\t\tcarousels.forEach(carousel => {\r\n\t\t\tconst previousButton = carousel.parentElement?.querySelector(\r\n\t\t\t\t\".carousel ~ .previous\"\r\n\t\t\t);\r\n\t\t\tconst nextButton =\r\n\t\t\t\tcarousel.parentElement?.querySelector(\".carousel ~ .next\");\r\n\t\t\tconst numberOfElements = carousel.children.length;\r\n\t\t\tconst countElement =\r\n\t\t\t\tcarousel.parentElement?.querySelector(\".count\");\r\n\r\n\t\t\tconst numberOfVisibleElements = () => {\r\n\t\t\t\treturn parseInt(\r\n\t\t\t\t\tgetComputedStyle(carousel).getPropertyValue(\"--num-of-columns\")\r\n\t\t\t\t);\r\n\t\t\t};\r\n\r\n\t\t\tif (countElement) {\r\n\t\t\t\tconst currentOffset = parseInt(\r\n\t\t\t\t\tcarousel.style.getPropertyValue(\"--data-offset\")\r\n\t\t\t\t);\r\n\t\t\t\tcountElement.innerText = `${currentOffset + 1}/${numberOfElements}`;\r\n\t\t\t}\r\n\r\n\t\t\tpreviousButton?.addEventListener(\"click\", () => {\r\n\t\t\t\tconst currentOffset = parseInt(\r\n\t\t\t\t\tcarousel.style.getPropertyValue(\"--data-offset\")\r\n\t\t\t\t);\r\n\t\t\t\tlet endOffset = currentOffset - 1;\r\n\r\n\t\t\t\tif (currentOffset <= 0) {\r\n\t\t\t\t\tendOffset = Math.ceil(numberOfElements / numberOfVisibleElements() - 1);\r\n\t\t\t\t} else if (endOffset >= numberOfElements / numberOfVisibleElements()) {\r\n\t\t\t\t\tendOffset = numberOfElements / numberOfVisibleElements() - 1;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcarousel.style.setProperty(\r\n\t\t\t\t\t\"--data-offset\",\r\n\t\t\t\t\tMath.floor(endOffset).toString()\r\n\t\t\t\t);\r\n\t\t\t\tif (countElement) {\r\n\t\t\t\t\tcountElement.innerText = `${\r\n\t\t\t\t\t\tMath.floor(endOffset) + 1\r\n\t\t\t\t\t}/${numberOfElements}`;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tnextButton?.addEventListener(\"click\", () => {\r\n\t\t\t\tconst currentOffset = parseInt(\r\n\t\t\t\t\tcarousel.style.getPropertyValue(\"--data-offset\")\r\n\t\t\t\t);\r\n\t\t\t\tlet endOffset = currentOffset + 1;\r\n\t\t\t\tconst maxEndOffset = Math.ceil(\r\n\t\t\t\t\tnumberOfElements / numberOfVisibleElements()\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (endOffset >= maxEndOffset) {\r\n\t\t\t\t\tendOffset = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcarousel.style.setProperty(\"--data-offset\", endOffset.toString());\r\n\t\t\t\tif (countElement) {\r\n\t\t\t\t\tcountElement.innerText = `${endOffset + 1}/${numberOfElements}`;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\twindow.addEventListener(\"resize\", () => {\r\n\t\t\tcarousels.forEach(carousel => {\r\n\t\t\t\tcarousel.style.setProperty(\"--data-offset\", \"0\");\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst banners = new Carousel();\r\n\tbanners.init();\r\n});\r\n", "export class BNLForms {\r\n\tinit() {\r\n\t\tconst epiForms = document.querySelectorAll(\r\n\t\t\t\"form.EPiServerForms\"\r\n\t\t);\r\n\r\n\t\tepiForms.forEach(epiForm => {\r\n\t\t\t// EPiServer adds all the date inputs as text inputs. So we can use the built in date picker we will change the type.\r\n\t\t\tconst dateInputs = epiForm.querySelectorAll(\r\n\t\t\t\t\"*[class*='FormDate'] input\"\r\n\t\t\t);\r\n\t\t\tdateInputs.forEach(dateInput => {\r\n\t\t\t\tdateInput.type = \"date\";\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst forms = new BNLForms();\r\n\tforms.init();\r\n});\r\n", "export class BNLTextArea {\r\n\tinit() {\r\n\t\tconst textareas = document.querySelectorAll(\"textarea\");\r\n\r\n\t\ttextareas.forEach(textarea => {\r\n\t\t\t// Force textarea elements to be at least the height of the scroll bar.\r\n\t\t\t// This is most useful for readonly textareas so they show all their content.\r\n\t\t\ttextarea.style.minHeight = `${textarea.scrollHeight}px`;\r\n\r\n\t\t\t// Do this if we decide we want to have the textareas grow as content is entered.\r\n\t\t\t// textarea.addEventListener(\"input\", () => {\r\n\t\t\t// textarea.style.minHeight = `${textarea.scrollHeight}px`;\r\n\t\t\t// });\r\n\t\t});\r\n\t}\r\n}\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst textarea = new BNLTextArea();\r\n\ttextarea.init();\r\n});\r\n", "export class BNLAutocomplete {\r\n\tinit() {\r\n\t\tconst autocompleteInputs =\r\n\t\t\tdocument.querySelectorAll(\"input[list]\");\r\n\r\n\t\tautocompleteInputs.forEach(autocompleteInput => {\r\n\t\t\tconst list = autocompleteInput.getAttribute(\"list\") ?? \"\";\r\n\t\t\tconst datalist = document.getElementById(list);\r\n\t\t\tif (datalist === null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tautocompleteInput.addEventListener(\"input\", event => {\r\n\t\t\t\tconst inputEvent = event as InputEvent;\r\n\t\t\t\t// This event means a datalist option was selected.\r\n\t\t\t\tif (inputEvent?.inputType !== \"insertReplacementText\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If the selected datalist option has a data-link attribute, use that as the url to send the user to.\r\n\t\t\t\tconst disorderLink = datalist\r\n\t\t\t\t\t.querySelector(`option[value='${inputEvent.data}']`)\r\n\t\t\t\t\t?.getAttribute(\"data-link\");\r\n\t\t\t\tif (!disorderLink) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\twindow.location.href = disorderLink;\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst autocomplete = new BNLAutocomplete();\r\n\tautocomplete.init();\r\n});\r\n", "export class CollapsibleNav {\r\n\tinit() {\r\n\t\tconst collapsibleNavs =\r\n\t\t\tdocument.querySelectorAll(\"nav.collapsible\");\r\n\t\tconst expandedHeights: any = {};\r\n\r\n\t\twindow.addEventListener(\"resize\", () => {\r\n\t\t\tcollapsibleNavs.forEach(collapsibleNav => {\r\n\t\t\t\texpandedHeights[collapsibleNav as any] =\r\n\t\t\t\t\tthis.getComputedHeight(collapsibleNav);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tcollapsibleNavs.forEach(collapsibleNav => {\r\n\t\t\tconst toggle = collapsibleNav.querySelector(\"button\");\r\n\r\n\t\t\tif (toggle === null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\texpandedHeights[collapsibleNav as any] =\r\n\t\t\t\tthis.getComputedHeight(collapsibleNav);\r\n\r\n\t\t\ttoggle.addEventListener(\"click\", () => {\r\n\t\t\t\tconst expandedHeight = expandedHeights[collapsibleNav as any];\r\n\t\t\t\tconst isCollapsed = collapsibleNav.classList.contains(\"collapse\");\r\n\r\n\t\t\t\tif (isCollapsed) {\r\n\t\t\t\t\tcollapsibleNav.classList.remove(\"collapse\");\r\n\t\t\t\t\tcollapsibleNav.style.height = expandedHeight;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcollapsibleNav.classList.add(\"collapse\");\r\n\t\t\t\t\tcollapsibleNav.style.height = \"\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getComputedHeight(navElement: HTMLElement): string {\r\n\t\tconst collapseDefault = navElement.classList.contains(\"collapse\");\r\n\r\n\t\tnavElement.classList.remove(\"collapse\");\r\n\t\tconst expandedHeight = getComputedStyle(navElement).height;\r\n\r\n\t\tif (collapseDefault) {\r\n\t\t\tnavElement.classList.add(\"collapse\");\r\n\t\t}\r\n\r\n\t\treturn expandedHeight;\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst collapsibleNav = new CollapsibleNav();\r\n\tcollapsibleNav.init();\r\n});\r\n", "class EmailSubInjector {\r\n\tinit() {\r\n\t\tconst injectEmailSubTo =\r\n\t\t\tdocument.querySelectorAll(\".email-sub-inject\");\r\n\t\tconst emailSubscribeContent = document.getElementById(\r\n\t\t\t\"email-subscribe-block\"\r\n\t\t)?.firstElementChild as HTMLElement;\r\n\r\n\t\tinjectEmailSubTo.forEach(injectEmailSubParent => {\r\n\t\t\tconst allParagraphs = Array.from(\r\n\t\t\t\tinjectEmailSubParent.querySelectorAll(\"p\")\r\n\t\t\t);\r\n\r\n\t\t\tlet lastParagraph = allParagraphs.reverse().find(paragraph => {\r\n\t\t\t\treturn paragraph.innerText.length > 200;\r\n\t\t\t});\r\n\r\n\t\t\tif (!lastParagraph) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst previousElementStyles = getComputedStyle(\r\n\t\t\t\tlastParagraph.previousElementSibling as HTMLElement\r\n\t\t\t);\r\n\r\n\t\t\t// If the previous element is floated, or has 0 height (an image that is floated) insert the email sub element above that so the paragraph still wraps the image.\r\n\t\t\tif (\r\n\t\t\t\tpreviousElementStyles.float === \"right\" ||\r\n\t\t\t\tpreviousElementStyles.float === \"left\" ||\r\n\t\t\t\tpreviousElementStyles.height === \"0px\"\r\n\t\t\t) {\r\n\t\t\t\tlastParagraph = lastParagraph.previousElementSibling as HTMLElement;\r\n\t\t\t}\r\n\r\n\t\t\twhile (lastParagraph.previousElementSibling?.tagName.toLowerCase().startsWith(\"h\")) {\r\n\t\t\t\tlastParagraph = lastParagraph.previousElementSibling as HTMLElement;\r\n\t\t\t}\r\n\r\n\t\t\tconst emailSubToInject = emailSubscribeContent.cloneNode(true);\r\n\r\n\t\t\tlastParagraph.parentNode?.insertBefore(emailSubToInject, lastParagraph);\r\n\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst emailSubInjector = new EmailSubInjector();\r\n\r\n\temailSubInjector.init();\r\n});\r\n", "export class BNLAccordian {\r\n\tinit() {\r\n\t\tconst accordians = document.querySelectorAll(\".accordian\");\r\n\r\n\t\taccordians.forEach(accordian => {\r\n\t\t\tconst expand = accordian.querySelector(\".expand\");\r\n\t\t\tconst collapse =\r\n\t\t\t\taccordian.querySelector(\".collapse\");\r\n\t\t\tconst contents = accordian.querySelector(\"section\");\r\n\r\n\t\t\tif (!contents || !collapse || !expand) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!accordian.classList.contains(\"expanded\")) {\r\n\t\t\t\tcontents.style.height = \"0px\";\r\n\t\t\t} else {\r\n\t\t\t\tcontents.style.height = this.computeAccordianHeight(contents);\r\n\t\t\t}\r\n\r\n\t\t\twindow.addEventListener(\"resize\", () => {\r\n\t\t\t\tif (accordian.classList.contains(\"expanded\")) {\r\n\t\t\t\t\tcontents.style.height = this.computeAccordianHeight(contents);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontents.style.height = \"0px\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\texpand.addEventListener(\"click\", () => {\r\n\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\tcontents.style.height = this.computeAccordianHeight(contents);\r\n\t\t\t\t});\r\n\t\t\t\taccordian.classList.add(\"expanded\");\r\n\t\t\t});\r\n\r\n\t\t\tcollapse.addEventListener(\"click\", () => {\r\n\t\t\t\tcontents.style.height = \"0px\";\r\n\t\t\t\taccordian.classList.remove(\"expanded\");\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate computeAccordianHeight(contents: HTMLElement) {\r\n\t\tconst childrenHeight = Array.from(contents.children).reduce((computedHeight, node) => {\r\n\t\t\tcomputedHeight += parseInt(getComputedStyle(node).height);\r\n\t\t\treturn computedHeight;\r\n\t\t}, 0);\r\n\r\n\t\treturn `${childrenHeight}px`;\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst accordian = new BNLAccordian();\r\n\taccordian.init();\r\n});\r\n", "export class Masonry {\r\n\tinit() {\r\n\t\tconst masonryElements = document.querySelectorAll(\".masonry\");\r\n\t\tlet timeout: number | null = null;\r\n\t\t\r\n\t\tmasonryElements.forEach(masonryElement => {\r\n\t\t\t// Wait until the fonts have loaded as our font's are slightly larger than the default browser ones.\r\n\t\t\tif (document.fonts) {\r\n\t\t\t\tdocument.fonts.ready.then(() => {\r\n\t\t\t\t\twindow.requestAnimationFrame(() => {\r\n\t\t\t\t\t\tthis.computeMasonryHeights(masonryElement);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\twindow.requestAnimationFrame(() => {\r\n\t\t\t\t\tthis.computeMasonryHeights(masonryElement);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tconst imagesInMasonry = Array.from(masonryElement.querySelectorAll(\"img\"));\r\n\r\n\t\t\timagesInMasonry\r\n\t\t\t\t.filter(x => !x.complete)\r\n\t\t\t\t.forEach(x => {\r\n\t\t\t\t\tx.addEventListener(\"load\", () =>\r\n\t\t\t\t\t\tthis.computeMasonryHeights(masonryElement)\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\r\n\t\t\twindow.addEventListener(\"resize\", () => {\r\n\t\t\t\tif (timeout !== null) {\r\n\t\t\t\t\twindow.clearTimeout(timeout);\r\n\t\t\t\t\ttimeout = null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttimeout = window.setTimeout(() => {\r\n\t\t\t\t\tthis.computeMasonryHeights(masonryElement);\r\n\t\t\t\t\ttimeout = null;\r\n\t\t\t\t}, 100);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate computeMasonryHeights(masonryElement: HTMLElement): void {\r\n\t\tif (\r\n\t\t\tmasonryElement.firstElementChild?.classList.contains(\"epi-editContainer\")\r\n\t\t) {\r\n\t\t\treturn this.computeMasonryHeights(\r\n\t\t\t\tmasonryElement.firstElementChild as HTMLElement\r\n\t\t\t);\r\n\t\t}\r\n\t\t// We will need to include the gap between rows in our calculations.\r\n\t\tconst masonryStyles = getComputedStyle(masonryElement);\r\n\t\tconst gap = parseInt(masonryStyles.rowGap);\r\n\r\n\t\t// If the masonry block is set to \"nowrap\" assume it's in a mobile mode and we don't need to compute the height for forcing it into multiple rows.\r\n\t\tif (masonryStyles.flexWrap === \"nowrap\") {\r\n\t\t\tmasonryElement.style.height = \"\";\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst masonryTiles = Array.from(masonryElement.children).map(x => ({\r\n\t\t\telement: x as HTMLElement,\r\n\t\t\tstyles: getComputedStyle(x),\r\n\t\t}));\r\n\t\t// This is basically the equivalent of .GroupBy in C#\r\n\t\tconst masonryTileGroups = masonryTiles.reduce(\r\n\t\t\t(\r\n\t\t\t\tprev: {\r\n\t\t\t\t\t[key: string]: { element: HTMLElement; styles: CSSStyleDeclaration }[]\r\n\t\t\t\t},\r\n\t\t\t\tcurr,\r\n\t\t\t\tindex\r\n\t\t\t) => {\r\n\t\t\t\t// If the masonry tiles don't have an order, assign one so they are into 2 groups.\r\n\t\t\t\tconst order =\r\n\t\t\t\t\tcurr.styles.order !== \"0\" ? curr.styles.order : `${(index % 2) + 1}`;\r\n\t\t\t\tif (curr.styles.order !== order) {\r\n\t\t\t\t\tcurr.element.style.order = order;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprev[order] ??= [];\r\n\t\t\t\tprev[order].push(curr);\r\n\t\t\t\treturn prev;\r\n\t\t\t},\r\n\t\t\t{}\r\n\t\t);\r\n\r\n\t\t// Sum up the height of the tiles in the column.\r\n\t\tconst masonryColumnHeights = Object.keys(masonryTileGroups).map(key => {\r\n\t\t\tconst masonryTilesGroup = masonryTileGroups[key];\r\n\t\t\tconst tileHeights = masonryTilesGroup.map(masonryTile => {\r\n\t\t\t\tconst height = parseFloat(masonryTile.styles.height) +\r\n\t\t\t\t\tparseFloat(masonryTile.styles.marginTop) +\r\n\t\t\t\t\tparseFloat(masonryTile.styles.marginBottom);\r\n\r\n\t\t\t\tmasonryTile.element.setAttribute(\"data-height\", `${height}px`);\r\n\t\t\t\treturn height;\r\n\t\t\t});\r\n\r\n\t\t\treturn (\r\n\t\t\t\ttileHeights.reduce(\r\n\t\t\t\t\t(sum, val) =>\r\n\t\t\t\t\t\t(sum += val)\r\n\t\t\t\t\t, 0) +\r\n\t\t\t\t// Add the additional height from the gap between the rows\r\n\t\t\t\tMath.max(masonryTilesGroup.length - 1, 0) * gap\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\t// Find the tallest column\r\n\t\tconst masonryHeight = Math.max(...masonryColumnHeights);\r\n\t\t\r\n\t\t// Make the masonry element be the height of the tallest column so that they are divided up into columns.\r\n\t\tmasonryElement.style.height = `${Math.ceil(masonryHeight)}px`;\r\n\t}\r\n}\r\n\r\n(() => {\r\n\tdocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\t\tconst masonry = new Masonry();\r\n\t\tmasonry.init();\r\n\t});\r\n})();\r\n", "export class BNLCategoryArticles {\r\n\tinit() {\r\n\t\tconst viewMoreButtons = document.querySelectorAll(\".articles-viewmore\");\r\n\t\tviewMoreButtons.forEach(viewMoreButton => {\r\n\t\t\tviewMoreButton.addEventListener(\"click\", async () => {\r\n\t\t\t\tawait this.loadMore(viewMoreButton);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate async loadMore(button: HTMLElement) {\r\n\t\tconst pageSize = parseInt(button.getAttribute(\"data-pageSize\") ?? \"12\");\r\n\t\tconst pageNumber = parseInt(button.getAttribute(\"data-pageNumber\") ?? \"2\");\r\n\t\tconst endpoint = button.getAttribute(\"data-endpoint\");\r\n\t\tconst tags = button.getAttribute(\"data-tags\")?.split(\",\") ?? [];\r\n\t\tconst hasAd = button.getAttribute(\"data-hasAd\")?.toLowerCase() === \"true\";\r\n\r\n\t\tawait fetch(`${endpoint}?pageSize=${pageSize}&pageNumber=${pageNumber}${tags.reduce((acc, tag) => {\r\n\t\t\tacc += `&tags=${encodeURIComponent(tag)}`;\r\n\t\t\treturn acc;\r\n\t\t}, \"\")}&hasAd=${hasAd}`)\r\n\t\t\t.then(response => response.text())\r\n\t\t\t.then(articleHtmlString => {\r\n\t\t\t\tconst parserElement = document.createElement(\"div\");\r\n\t\t\t\tparserElement.innerHTML = articleHtmlString;\r\n\t\t\t\tconst parsedResponseElements = Array.from(parserElement.children);\r\n\t\t\t\tconst adBlocks = parserElement.querySelectorAll(\".advertisement\");\r\n\t\t\t\tconst adSlots: any[] = [];\r\n\r\n\t\t\t\tparsedResponseElements.forEach(elementToAdd => {\r\n\t\t\t\t\tbutton.parentElement?.insertBefore(elementToAdd, button);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tadBlocks.forEach(adBlock => {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tconst adElement = adBlock.querySelector(\"[id]\");\r\n\r\n\t\t\t\t\t\tif (!adElement) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst adSize = adElement?.getAttribute(\"data-adSize\");\r\n\t\t\t\t\t\tconst adId = adElement?.id;\r\n\r\n\t\t\t\t\t\tif (adId) {\r\n\t\t\t\t\t\t\tconst adSlot = (window as any).googletag.defineSlot(\"/15726702761/Desktop/brainandlife\", JSON.parse(adSize ?? \"[]\"), adId).addService((window as any).googletag.pubads());\r\n\t\t\t\t\t\t\t(window as any).gptadslots.push(adSlot);\r\n\t\t\t\t\t\t\tadSlots.push(adSlot);\r\n\r\n\t\t\t\t\t\t\t(window as any).googletag.cmd.push(function () {\r\n\t\t\t\t\t\t\t\tadBlock.style.display = \"\";\r\n\t\t\t\t\t\t\t\t(window as any).googletag.display(adId);\r\n\t\t\t\t\t\t\t\tconsole.log(adSlot);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (error) { console.error(error); }\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (adBlocks?.length > 0) {\r\n\t\t\t\t\t(window as any).googletag.pubads().refresh();\r\n\r\n\t\t\t\t\t/* If the ad fails to load, remove the block so there isn't blank blocks all over the page. */\r\n\t\t\t\t\t// ToDo: Figure out if we want to have the ads be removed if they are not able to load an ad because WK is incompitent.\r\n\t\t\t\t\t// adSlots.forEach(adSlot => {\r\n\t\t\t\t\t// const adResponseInfo = adSlot.getResponseInformation();\r\n\t\t\t\t\t// if (!adResponseInfo) {\r\n\t\t\t\t\t// const adSlotId = adSlot.getSlotElementId();\r\n\t\t\t\t\t// const adBlock = document.getElementById(adSlotId)?.parentElement;\r\n\t\t\t\t\t// if (adBlock) {\r\n\t\t\t\t\t// adBlock.style.display = \"none\";\r\n\t\t\t\t\t// adBlock.remove();\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// });\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbutton.setAttribute(\"data-pageNumber\", (pageNumber + 1).toString());\r\n\t\t\t});\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst categoryArticles = new BNLCategoryArticles();\r\n\tcategoryArticles.init();\r\n});\r\n", "export class BNLImage {\r\n\tinit() {\r\n\t\tconst fallbackImages = document.querySelectorAll(\"img[data-fallbacksrc]\");\r\n\t\tfallbackImages.forEach(fallbackImage => {\r\n\t\t\tfallbackImage.addEventListener(\"error\", () => {\r\n\t\t\t\tconst fallbackSrc = fallbackImage.getAttribute(\"data-fallbacksrc\");\r\n\r\n\t\t\t\tif (fallbackSrc) {\r\n\t\t\t\t\tfallbackImage.setAttribute(\"src\", fallbackSrc);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\n(() => {\r\n\tconst accordian = new BNLImage();\r\n\taccordian.init();\r\n})();\r\n", "export class BNLSearchPage {\r\n\tinit() {\r\n\t\tconst url = new URL(window.location.href);\r\n\t\tlet searchValue = url.searchParams.get(\"searchTerm\");\r\n\t\tif (searchValue && location.hash === \"\") { // If coming from search icon in header, load that to update the location hash\r\n\t\t\tsearchValue = searchValue.replace(\"%20\", \" \");\r\n\t\t\tconst searchInputs = document.querySelectorAll(\".st-default-search-input\");\r\n\t\t\tsearchInputs.forEach(searchInput => {\r\n\t\t\t\tsearchInput.value = searchValue ?? \"\";\r\n\t\t\t});\r\n\t\t\tthis.UpdateHash(searchValue ?? \"\");\r\n\t\t}\r\n\t}\r\n\r\n\tprivate UpdateHash(searchValue: string) {\r\n\t\tlocation.hash = \"stq=\" + searchValue + \"&stp=1\";\r\n\t}\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\tconst searchPage = new BNLSearchPage();\r\n\tsearchPage.init();\r\n});\r\n", "function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\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\n return target;\n}\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}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\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\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\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\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\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 Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\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 _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _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\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar 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;\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 _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\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];\n\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 'fakd': 'kit',\n 'fa-kit': 'kit',\n 'fa-kit-duotone': '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 'fast': 'thin',\n 'fa-thin': 'thin'\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 thin: 'fast'\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 fast: 'fa-thin'\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 'fa-thin': 'fast'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl|st)?[\\-\\ ]/; // 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 100: 'fast'\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}));\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 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-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\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\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}\n\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\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\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\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\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\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\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 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\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 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-sharp-thin: normal 100 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}\";\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\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\n return s;\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\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};\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\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\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\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\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\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\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\n return output;\n}\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\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return 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\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\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\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\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})];\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);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\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\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\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\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\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\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\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\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\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\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\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\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\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\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\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\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\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\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\n return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _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\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\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\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\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\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\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\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\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 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\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}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\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\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\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 callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\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\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\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\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\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};\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\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}\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(_objectSpread2(_objectSpread2({}, 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.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}\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 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\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\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\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\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\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 = _objectSpread2(_objectSpread2(_objectSpread2({}, 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 = _objectSpread2({}, 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 = _objectSpread2(_objectSpread2(_objectSpread2({}, 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 styles$1 = 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.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\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};\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}\n\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\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\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\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\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\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 \\\"6.5.0\\\"\";\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\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 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}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\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\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\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\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\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}\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}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\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\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n\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\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n\n _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\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 _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\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' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\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}\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 (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\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 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\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\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}\n\nvar styles$2 = namespace.styles;\n\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\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}\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);\n\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\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 ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\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\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\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 Promise.resolve();\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.name === 'MissingIcon') {\n console.error(e);\n }\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}\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 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, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\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\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: _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\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\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\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\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\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\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\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};\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};\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\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 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};\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}\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\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 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\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\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\n if (iconName && !isSecondary && (!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(_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\n var element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', '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 Promise.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 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}\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\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\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\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\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\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};\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\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\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};\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(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\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\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\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};\n\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\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\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\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\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\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\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\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\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};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\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;\n\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 };\n", "import { library, config, dom } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { faMagnifyingGlass as thinMagnifyingGlass } from \"@fortawesome/pro-light-svg-icons/faMagnifyingGlass\";\r\nimport { faMagnifyingGlass } from \"@fortawesome/free-solid-svg-icons/faMagnifyingGlass\";\r\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons/faChevronDown\";\r\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\r\nimport { faChevronRight } from \"@fortawesome/free-solid-svg-icons/faChevronRight\";\r\nimport { faChevronLeft } from \"@fortawesome/free-solid-svg-icons/faChevronLeft\";\r\nimport { faBars } from \"@fortawesome/free-solid-svg-icons/faBars\";\r\nimport { faXmark as aXmarkThin } from \"@fortawesome/pro-light-svg-icons/faXmark\";\r\nimport { faXmark } from \"@fortawesome/free-solid-svg-icons/faXmark\";\r\nimport { faEnvelopeOpen } from \"@fortawesome/free-solid-svg-icons/faEnvelopeOpen\";\r\nimport { faArrowUpRightFromSquare } from \"@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare\";\r\n\r\nimport { faSquareMinus } from \"@fortawesome/free-regular-svg-icons/faSquareMinus\";\r\nimport { faSquarePlus } from \"@fortawesome/free-regular-svg-icons/faSquarePlus\";\r\nimport { faEnvelope as faEnvelopeRegular } from \"@fortawesome/free-regular-svg-icons/faEnvelope\";\r\n\r\nimport { faFacebook } from \"@fortawesome/free-brands-svg-icons/faFacebook\";\r\nimport { faTwitter } from \"@fortawesome/free-brands-svg-icons/faTwitter\";\r\nimport { faInstagram } from \"@fortawesome/free-brands-svg-icons/faInstagram\";\r\nimport { faYoutube } from \"@fortawesome/free-brands-svg-icons/faYoutube\";\r\nimport { faPinterest } from \"@fortawesome/free-brands-svg-icons/faPinterest\";\r\nimport { faXTwitter } from \"@fortawesome/free-brands-svg-icons/faXTwitter\";\r\nimport { faMastodon } from \"@fortawesome/free-brands-svg-icons/faMastodon\";\r\nimport { faThreads } from \"@fortawesome/free-brands-svg-icons/faThreads\";\r\nimport { faTiktok } from \"@fortawesome/free-brands-svg-icons/faTiktok\";\r\n\r\n// Don't display the missing icon, icon outside of local development, testing or staging.\r\nif (window.location.hostname === \"localhost\"\r\n\t|| window.location.hostname.endsWith(\"lvh.me\")\r\n\t|| window.location.hostname === \"127.0.0.1\"\r\n\t|| window.location.hostname.startsWith(\"alpha\")\r\n\t|| window.location.hostname.startsWith(\"beta\")\r\n\t|| window.location.hostname.startsWith(\"webdev\")\r\n\t|| window.location.hostname.startsWith(\"staging\")) {\r\n\tconfig.showMissingIcons = true;\r\n} else {\r\n\tconfig.showMissingIcons = false;\r\n}\r\n\r\nconfig.observeMutations = true;\r\n\r\nlibrary.add(\r\n\tfaArrowUpRightFromSquare,\r\n\tthinMagnifyingGlass,\r\n\tfaMagnifyingGlass,\r\n\tfaChevronDown,\r\n\tfaChevronUp,\r\n\tfaChevronRight,\r\n\tfaChevronLeft,\r\n\tfaXmark,\r\n\taXmarkThin,\r\n\tfaBars,\r\n\tfaSquarePlus,\r\n\tfaSquareMinus,\r\n\tfaEnvelopeOpen,\r\n\tfaEnvelopeRegular,\r\n\tfaFacebook,\r\n\tfaTwitter,\r\n\tfaInstagram,\r\n\tfaYoutube,\r\n\tfaPinterest,\r\n\tfaXTwitter,\r\n\tfaMastodon,\r\n\tfaThreads,\r\n\tfaTiktok\r\n);\r\n\r\ndom.i2svg();\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\t// If Angular is on the page, we cannot use the \"watch\" fontawesome logic as it gets stuck in an infinite loop.\r\n\t// So we will have to manually trigger the function to apply the font awesome icons in an interval.\r\n\tif (document.querySelector(\"app-root\") != null) {\r\n\t\twindow.setInterval(() => dom.i2svg(), 1000);\r\n\t} else {\r\n\t\tdom.watch();\r\n\t}\r\n});\r\n"], "mappings": "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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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", "names": ["require_faMagnifyingGlass", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faMagnifyingGlass", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faChevronDown", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faChevronUp", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faChevronRight", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faChevronLeft", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faBars", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faXmark", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faXmark", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faEnvelopeOpen", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faArrowUpRightFromSquare", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faSquareMinus", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faSquarePlus", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faEnvelope", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faFacebook", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faTwitter", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faInstagram", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faYoutube", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faPinterest", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faXTwitter", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faMastodon", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faThreads", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "require_faTiktok", "__commonJSMin", "exports", "prefix", "iconName", "width", "height", "aliases", "unicode", "svgPathData", "AANDialog", "dialogId", "dialog", "dialogs", "event", "rect", "HeightCalculator", "element", "childElements", "elementStyles", "childElement", "height", "TopNav", "navGroup", "navElement", "computedHeight", "HeightCalculator", "SubscribeDialog", "subscribeDialog", "shownSubscribeBox", "response", "expired", "params", "Banners", "closeButton", "parentElement", "Carousel", "carousels", "carousel", "previousButton", "nextButton", "numberOfElements", "countElement", "numberOfVisibleElements", "currentOffset", "endOffset", "maxEndOffset", "BNLForms", "epiForm", "dateInput", "BNLTextArea", "textarea", "BNLAutocomplete", "autocompleteInput", "list", "datalist", "event", "inputEvent", "disorderLink", "CollapsibleNav", "collapsibleNavs", "expandedHeights", "collapsibleNav", "toggle", "expandedHeight", "navElement", "collapseDefault", "EmailSubInjector", "injectEmailSubTo", "emailSubscribeContent", "injectEmailSubParent", "lastParagraph", "paragraph", "previousElementStyles", "emailSubToInject", "BNLAccordian", "accordian", "expand", "collapse", "contents", "computedHeight", "node", "Masonry", "masonryElements", "timeout", "masonryElement", "x", "masonryStyles", "gap", "masonryTileGroups", "prev", "curr", "index", "order", "masonryColumnHeights", "key", "masonryTilesGroup", "masonryTile", "height", "sum", "val", "masonryHeight", "BNLCategoryArticles", "viewMoreButton", "button", "pageSize", "pageNumber", "endpoint", "tags", "hasAd", "acc", "tag", "response", "articleHtmlString", "parserElement", "parsedResponseElements", "adBlocks", "adSlots", "elementToAdd", "adBlock", "adElement", "adSize", "adId", "adSlot", "error", "BNLImage", "fallbackImage", "fallbackSrc", "BNLSearchPage", "searchValue", "searchInput", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread2", "target", "i", "source", "key", "_defineProperty", "_typeof", "obj", "_classCallCheck", "instance", "Constructor", "_defineProperties", "target", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_defineProperty", "obj", "key", "value", "_slicedToArray", "arr", "i", "_arrayWithHoles", "_iterableToArrayLimit", "_unsupportedIterableToArray", "_nonIterableRest", "_toConsumableArray", "_arrayWithoutHoles", "_iterableToArray", "_nonIterableSpread", "_arrayLikeToArray", "iter", "_i", "_arr", "_n", "_d", "_s", "_e", "err", "o", "minLen", "n", "len", "arr2", "noop", "_WINDOW", "_DOCUMENT", "_MUTATION_OBSERVER", "_PERFORMANCE", "_ref", "_ref$userAgent", "userAgent", "WINDOW", "DOCUMENT", "MUTATION_OBSERVER", "PERFORMANCE", "IS_BROWSER", "IS_DOM", "IS_IE", "_familyProxy", "_familyProxy2", "_familyProxy3", "_familyProxy4", "_familyProxy5", "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", "obj", "target", "prop", "PREFIX_TO_STYLE", "_defineProperty", "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", "ATTRIBUTES_WATCHED_FOR_MUTATION", "DUOTONE_CLASSES", "prefixes", "RESERVED_CLASSES", "initial", "getAttrConfig", "attr", "element", "coerce", "val", "attrs", "_ref2", "key", "_default", "_config", "_objectSpread2", "config", "_onChangeCb", "cb", "onChange", "d", "meaninglessTransform", "insertCss", "css", "style", "headChildren", "beforeChild", "child", "tagName", "idPool", "nextUniqueId", "size", "id", "toArray", "array", "classArray", "node", "htmlEscape", "str", "joinAttributes", "attributes", "acc", "attributeName", "joinStyles", "styles", "styleName", "transformIsMeaningful", "transform", "transformForSvg", "containerWidth", "iconWidth", "outer", "innerTranslate", "innerScale", "innerRotate", "inner", "path", "transformForCss", "_ref2$width", "width", "_ref2$height", "height", "_ref2$startCentered", "startCentered", "baseStyles", "dcp", "drc", "fp", "rc", "s", "dPatt", "customPropPatt", "rPatt", "_cssInserted", "ensureCss", "InjectCSS", "w", "namespace", "functions", "listener", "loaded", "fn", "domready", "toHtml", "abstractNodes", "tag", "_abstractNodes$attrib", "_abstractNodes$childr", "children", "iconFromMapping", "mapping", "prefix", "iconName", "bindInternal4", "func", "thisContext", "a", "b", "c", "reduce", "subject", "initialValue", "keys", "length", "iterator", "result", "ucs2decode", "string", "output", "counter", "value", "extra", "toHex", "unicode", "decoded", "codePointAt", "index", "first", "second", "normalizeIcons", "icons", "icon", "expanded", "defineIcons", "params", "_params$skipHooks", "skipHooks", "normalized", "_LONG_STYLE", "_PREFIXES", "_PREFIXES_FOR_FAMILY", "styles", "namespace", "shims", "LONG_STYLE", "_defineProperty", "FAMILY_CLASSIC", "PREFIX_TO_LONG_STYLE", "FAMILY_SHARP", "_defaultUsablePrefix", "_byUnicode", "_byLigature", "_byOldName", "_byOldUnicode", "_byAlias", "PREFIXES", "PREFIX_TO_STYLE", "isReserved", "name", "RESERVED_CLASSES", "getIconName", "cssPrefix", "cls", "parts", "prefix", "iconName", "build", "lookup", "reducer", "reduce", "style", "acc", "icon", "aliases", "a", "alias", "hasRegular", "config", "shimLookups", "shim", "maybeNameMaybeUnicode", "getCanonicalPrefix", "onChange", "c", "byUnicode", "unicode", "byLigature", "ligature", "byAlias", "byOldName", "byOldUnicode", "oldUnicode", "newUnicode", "getDefaultUsablePrefix", "emptyCanonicalIcon", "styleOrPrefix", "params", "_params$family", "family", "STYLE_TO_PREFIX", "defined", "PREFIXES_FOR_FAMILY", "getCanonicalIcon", "values", "_famProps", "_params$skipLookups", "skipLookups", "famProps", "givenPrefix", "v", "canonical", "LONG_STYLE_TO_PREFIX", "aliasIconName", "Library", "_classCallCheck", "_createClass", "_this", "_len", "definitions", "_key", "additions", "key", "_objectSpread2", "defineIcons", "longPrefix", "definition", "normalized", "_normalized$key", "_plugins", "_hooks", "providers", "defaultProviderKeys", "registerPlugins", "nextPlugins", "_ref", "obj", "k", "plugin", "mixout", "tk", "_typeof", "sk", "hooks", "hook", "chainHooks", "accumulator", "args", "hookFns", "hookFn", "callHooks", "_len2", "_key2", "callProvided", "findIconDefinition", "iconLookup", "iconFromMapping", "library", "noAuto", "dom", "IS_DOM", "autoReplaceSvgRoot", "domready", "autoReplace", "parse", "_icon", "ICON_SELECTION_SYNTAX_PATTERN", "canonicalIcon", "_prefix", "api", "toHtml", "_params$autoReplaceSv", "DOCUMENT", "domVariants", "val", "abstractCreator", "container", "asIcon", "children", "main", "mask", "attributes", "transform", "transformIsMeaningful", "width", "height", "offset", "joinStyles", "asSymbol", "symbol", "id", "makeInlineSvgAbstract", "_params$icons", "title", "maskId", "titleId", "extra", "_params$watchable", "watchable", "isUploadedIcon", "attrClass", "content", "uploadedIconWidthStyle", "DATA_FA_I2SVG", "nextUniqueId", "_ref2", "makeLayersTextAbstract", "_params$watchable2", "transformForCss", "styleString", "makeLayersCounterAbstract", "styles$1", "asFoundIcon", "_icon$slice", "_icon$slice2", "_slicedToArray", "vectorData", "element", "DUOTONE_CLASSES", "missingIconResolutionMixin", "maybeNotifyMissing", "PRODUCTION", "findIcon", "resolve", "reject", "noop$1", "p", "PERFORMANCE", "preamble", "begin", "end", "perf", "noop$2", "isWatched", "node", "i2svg", "hasPrefixAndIcon", "DATA_PREFIX", "DATA_ICON", "hasBeenReplaced", "getMutator", "mutators", "mutator", "createElementNS", "tag", "createElement", "convertSVG", "abstractObj", "_params$ceFn", "ceFn", "child", "nodeAsComment", "comment", "mutation", "_abstract", "_abstract2", "classArray", "forSvg", "splitClasses", "newInnerHTML", "performOperationSync", "op", "perform", "mutations", "callback", "callbackFunction", "frame", "MUTATION_APPROACH_ASYNC", "WINDOW", "mark", "disabled", "disableObservation", "enableObservation", "mo", "observe", "options", "MUTATION_OBSERVER", "_options$treeCallback", "treeCallback", "_options$nodeCallback", "nodeCallback", "_options$pseudoElemen", "pseudoElementsCallback", "_options$observeMutat", "observeMutationsRoot", "objects", "defaultPrefix", "toArray", "mutationRecord", "ATTRIBUTES_WATCHED_FOR_MUTATION", "_getCanonicalIcon", "disconnect", "styleParser", "prop", "value", "classParser", "existingPrefix", "existingIconName", "innerText", "toHex", "attributesParser", "extraAttributes", "attr", "blankMeta", "meaninglessTransform", "parseMeta", "parser", "_classParser", "extraClasses", "pluginMeta", "extraStyles", "styles$2", "generateMutation", "nodeMeta", "LAYERS_TEXT_CLASSNAME", "knownPrefixes", "FAMILIES", "_toConsumableArray", "onTree", "root", "htmlClassList", "hclAdd", "suffix", "HTML_CLASS_I2SVG_BASE_CLASS", "hclRemove", "prefixes", "f", "prefixesDomQuery", "candidates", "e", "resolvedMutations", "onNode", "resolveIcons", "next", "maybeIconDefinition", "iconDefinition", "render", "_params$transform", "_params$symbol", "_params$mask", "_params$maskId", "_params$title", "_params$titleId", "_params$classes", "classes", "_params$attributes", "_params$styles", "ReplaceElements", "providers$$1", "_params$node", "_params$callback", "_ref3", "nextChild", "Layers", "assembler", "LayersCounter", "LayersText", "IS_IE", "computedFontSize", "boundingClientRect", "CLEAN_CONTENT_PATTERN", "SECONDARY_UNICODE_RANGE", "hexValueFromContent", "cleaned", "codePoint", "codePointAt", "isPrependTen", "isDoubled", "replaceForPosition", "position", "pendingAttribute", "DATA_FA_PSEUDO_ELEMENT_PENDING", "alreadyProcessedPseudoElement", "DATA_FA_PSEUDO_ELEMENT", "fontFamily", "FONT_FAMILY_PATTERN", "fontWeight", "_content", "FONT_WEIGHT_TO_PREFIX", "_hexValueFromContent", "hexValue", "isSecondary", "isV4", "iconIdentifier", "iconName4", "meta", "replace", "processable", "TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS", "searchPseudoElements", "operations", "PseudoElements", "_unwatched", "MutationObserver$1", "parseTransformString", "transformString", "n", "first", "rest", "PowerTransforms", "containerWidth", "iconWidth", "outer", "innerTranslate", "innerScale", "innerRotate", "inner", "path", "ALL_SPACE", "fillBlack", "force", "deGroup", "Masks", "maskData", "i", "explicitMaskId", "mainWidth", "mainPath", "maskWidth", "maskPath", "trans", "transformForSvg", "maskRect", "maskInnerGroupChildrenMixin", "maskInnerGroup", "maskOuterGroup", "clipId", "maskTag", "defs", "MissingIconIndicator", "reduceMotion", "gChildren", "FILL", "ANIMATION_BASE", "OPACITY_ANIMATE", "dot", "SvgSymbols", "symbolData", "plugins", "InjectCSS", "noAuto$1", "config$1", "library$1", "dom$1", "parse$1", "findIconDefinition$1", "toHtml$1", "layer", "text", "counter", "import_faMagnifyingGlass", "import_faChevronDown", "import_faChevronUp", "import_faChevronRight", "import_faChevronLeft", "import_faBars", "import_faXmark", "import_faEnvelopeOpen", "import_faArrowUpRightFromSquare", "import_faSquareMinus", "import_faSquarePlus", "import_faEnvelope", "import_faFacebook", "import_faTwitter", "import_faInstagram", "import_faYoutube", "import_faPinterest", "import_faXTwitter", "import_faMastodon", "import_faThreads", "import_faTiktok", "config$1", "library$1", "thinMagnifyingGlass", "aXmarkThin", "faEnvelopeRegular", "dom$1"] }