analytic 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -13
  3. data/Rakefile +12 -2
  4. data/app/assets/builds/analytic/application.css +810 -0
  5. data/app/assets/builds/analytic/application.js +5779 -0
  6. data/app/assets/builds/analytic/application.js.map +7 -0
  7. data/app/assets/config/analytic_manifest.js +0 -0
  8. data/app/controllers/analytic/application_controller.rb +6 -0
  9. data/app/controllers/analytic/dashboard_controller.rb +13 -0
  10. data/app/controllers/concerns/analytic/trackable.rb +79 -0
  11. data/app/helpers/analytic/application_helper.rb +6 -0
  12. data/app/jobs/analytic/application_job.rb +6 -0
  13. data/app/jobs/analytic/track_job.rb +25 -0
  14. data/app/mailers/analytic/application_mailer.rb +7 -0
  15. data/app/models/analytic/application_record.rb +7 -0
  16. data/app/models/analytic/dashboard.rb +65 -0
  17. data/app/models/analytic/view.rb +24 -0
  18. data/app/packs/analytic/application/index.ts +1 -0
  19. data/app/packs/analytic/application/initializers/fontawesome.ts +23 -0
  20. data/app/packs/analytic/application/initializers/index.ts +1 -0
  21. data/app/packs/analytic/entrypoints/application.tailwind.css +65 -0
  22. data/app/packs/analytic/entrypoints/application.ts +1 -0
  23. data/app/views/analytic/dashboard/show.html.erb +84 -0
  24. data/app/views/layouts/analytic/application.html.erb +42 -0
  25. data/bin/dev +3 -0
  26. data/bin/rails +13 -0
  27. data/config/routes.rb +7 -0
  28. data/db/migrate/20240805210911_create_analytic_views.rb +24 -0
  29. data/lib/analytic/config.rb +30 -0
  30. data/lib/analytic/engine.rb +11 -0
  31. data/lib/analytic/version.rb +3 -1
  32. data/lib/analytic.rb +15 -3
  33. metadata +36 -13
  34. data/lib/analytic/railtie.rb +0 -4
  35. data/lib/tasks/analytic_tasks.rake +0 -4
  36. /data/{MIT-LICENSE → LICENSE} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../node_modules/@fortawesome/free-solid-svg-icons/faClock.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faEye.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faFileCode.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faGauge.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faGlobe.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faHouse.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faSliders.js", "../../../../node_modules/@fortawesome/free-solid-svg-icons/faUsers.js", "../../../../node_modules/@fortawesome/fontawesome-free/js/fontawesome.js", "../../../../node_modules/@fortawesome/fontawesome-svg-core/index.mjs", "../../../packs/analytic/application/initializers/fontawesome.ts"],
4
+ "sourcesContent": ["'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar prefix = 'fas';\nvar iconName = 'clock';\nvar width = 512;\nvar height = 512;\nvar aliases = [128339,\"clock-four\"];\nvar unicode = 'f017';\nvar svgPathData = 'M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-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.faClock = 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 = 'eye';\nvar width = 576;\nvar height = 512;\nvar aliases = [128065];\nvar unicode = 'f06e';\nvar svgPathData = 'M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faEye = 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 = 'file-code';\nvar width = 384;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f1c9';\nvar svgPathData = 'M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 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.faFileCode = 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 = 'gauge';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"dashboard\",\"gauge-med\",\"tachometer-alt-average\"];\nvar unicode = 'f624';\nvar svgPathData = 'M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3L280 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 204.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 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.faGauge = 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 = 'globe';\nvar width = 512;\nvar height = 512;\nvar aliases = [127760];\nvar unicode = 'f0ac';\nvar svgPathData = 'M352 256c0 22.2-1.2 43.6-3.3 64l-185.3 0c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64l185.3 0c2.2 20.4 3.3 41.8 3.3 64zm28.8-64l123.1 0c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64l-123.1 0c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32l-116.7 0c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0l-176.6 0c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0L18.6 160C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192l123.1 0c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64L8.1 320C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6l176.6 0c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352l116.7 0zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6l116.7 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.faGlobe = 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 = 'house';\nvar width = 576;\nvar height = 512;\nvar aliases = [127968,63498,63500,\"home\",\"home-alt\",\"home-lg-alt\"];\nvar unicode = 'f015';\nvar svgPathData = 'M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 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.faHouse = 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 = 'sliders';\nvar width = 512;\nvar height = 512;\nvar aliases = [\"sliders-h\"];\nvar unicode = 'f1de';\nvar svgPathData = 'M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faSliders = 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 = 'users';\nvar width = 640;\nvar height = 512;\nvar aliases = [];\nvar unicode = 'f0c0';\nvar svgPathData = 'M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0L21.3 320C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3l-213.3 0zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352l117.3 0C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7l-330.7 0c-14.7 0-26.7-11.9-26.7-26.7z';\n\nexports.definition = {\n prefix: prefix,\n iconName: iconName,\n icon: [\n width,\n height,\n aliases,\n unicode,\n svgPathData\n ]};\n\nexports.faUsers = 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;", "/*!\n * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\n(function () {\n 'use strict';\n\n const noop = () => {};\n\n let _WINDOW = {};\n let _DOCUMENT = {};\n let _MUTATION_OBSERVER = null;\n let _PERFORMANCE = {\n mark: noop,\n measure: noop\n };\n\n try {\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\n const {\n userAgent = ''\n } = _WINDOW.navigator || {};\n const WINDOW = _WINDOW;\n const DOCUMENT = _DOCUMENT;\n const MUTATION_OBSERVER = _MUTATION_OBSERVER;\n const PERFORMANCE = _PERFORMANCE;\n const IS_BROWSER = !!WINDOW.document;\n const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n const IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n var a = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n c = [a, t, r, o];\n\n var et$1 = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\"\n }\n };\n var bt = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n Ct = [\"kit\"];\n var Dt = /fa(s|r|l|t|d|b|k|kd|ss|sr|sl|st|sds)?[\\-\\ ]/,\n Kt = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\n var ao = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n var eo = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\"\n }\n },\n lo = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\"\n }\n },\n y = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\"]\n },\n no = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\"\n }\n },\n fo = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n duotone: \"fad\",\n brands: \"fab\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\"\n }\n },\n ho = {\n 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 },\n 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 },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\"\n }\n },\n x$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n u$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n m$1 = u$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n yo = [...Object.keys(y), ...x$1, \"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\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(u$1.map(o => \"\".concat(o, \"x\"))).concat(m$1.map(o => \"w-\".concat(o)));\n var mo = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n },\n Io = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n },\n Fo = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n },\n So = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\n const NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n const UNITS_IN_GRID = 16;\n const DEFAULT_CSS_PREFIX = 'fa';\n const DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\n const DATA_FA_I2SVG = 'data-fa-i2svg';\n const DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\n const DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\n const DATA_PREFIX = 'data-prefix';\n const DATA_ICON = 'data-icon';\n const HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\n const MUTATION_APPROACH_ASYNC = 'async';\n const TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n const PRODUCTION = (() => {\n try {\n return \"production\" === 'production';\n } catch (e$$1) {\n return false;\n }\n })();\n const FAMILIES = [a, r, o];\n\n function familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[a];\n }\n\n });\n }\n\n const _PREFIX_TO_STYLE = { ...ho\n };\n _PREFIX_TO_STYLE[a] = { ...ho[a],\n ...bt['kit'],\n ...bt['kit-duotone']\n };\n const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\n const _STYLE_TO_PREFIX = { ...fo\n };\n _STYLE_TO_PREFIX[a] = { ..._STYLE_TO_PREFIX[a],\n ...So['kit'],\n ...So['kit-duotone']\n };\n const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\n const _PREFIX_TO_LONG_STYLE = { ...no\n };\n _PREFIX_TO_LONG_STYLE[a] = { ..._PREFIX_TO_LONG_STYLE[a],\n ...Fo['kit']\n };\n const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\n const _LONG_STYLE_TO_PREFIX = { ...lo\n };\n _LONG_STYLE_TO_PREFIX[a] = { ..._LONG_STYLE_TO_PREFIX[a],\n ...Io['kit']\n };\n const LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\n const ICON_SELECTION_SYNTAX_PATTERN = Dt; // eslint-disable-line no-useless-escape\n\n const LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\n const FONT_FAMILY_PATTERN = Kt;\n const _FONT_WEIGHT_TO_PREFIX = { ...et$1\n };\n const FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\n const ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\n const DUOTONE_CLASSES = t$1;\n const prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[a]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[r]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[o]).map(prefixes.add.bind(prefixes));\n const RESERVED_CLASSES = [...Ct, ...yo];\n\n const initial = WINDOW.FontAwesomeConfig || {};\n\n function getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n }\n\n function 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\n if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const 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(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n }\n\n const _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\n if (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n }\n\n const _config = { ..._default,\n ...initial\n };\n if (!_config.autoReplaceSvg) _config.observeMutations = false;\n const config = {};\n Object.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n }); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\n Object.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n });\n WINDOW.FontAwesomeConfig = config;\n const _onChangeCb = [];\n function onChange(cb) {\n _onChangeCb.push(cb);\n\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n }\n\n const d$2 = UNITS_IN_GRID;\n const meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n };\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn(...args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n function insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n }\n const idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n function nextUniqueId() {\n let size = 12;\n let id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n }\n function toArray(obj) {\n const array = [];\n\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n }\n function classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n }\n function htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n }\n function joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n }\n function joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n }\n function transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n }\n function transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n }\n function transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n }\n\n var baseStyles = \":host,:root{--fa-font-solid:normal 900 1em/1 \\\"Font Awesome 6 Free\\\";--fa-font-regular:normal 400 1em/1 \\\"Font Awesome 6 Free\\\";--fa-font-light:normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";--fa-font-thin:normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";--fa-font-duotone:normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";--fa-font-brands:normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";--fa-font-sharp-solid:normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-regular:normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-light:normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-thin:normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-duotone-solid:normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285705em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width,2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1,1) translateY(0)}100%{transform:scale(1,1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}24%,8%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}100%,40%{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scale(-1,1)}.fa-flip-vertical{transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1,-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fa-sr-only-focusable:not(:focus),.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}\";\n\n function css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const 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\n let _cssInserted = false;\n\n function ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n }\n\n var InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n\n beforeI2svg() {\n ensureCss();\n }\n\n };\n }\n\n };\n\n const w$1 = WINDOW || {};\n if (!w$1[NAMESPACE_IDENTIFIER]) w$1[NAMESPACE_IDENTIFIER] = {};\n if (!w$1[NAMESPACE_IDENTIFIER].styles) w$1[NAMESPACE_IDENTIFIER].styles = {};\n if (!w$1[NAMESPACE_IDENTIFIER].hooks) w$1[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w$1[NAMESPACE_IDENTIFIER].shims) w$1[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w$1[NAMESPACE_IDENTIFIER];\n\n const functions = [];\n\n const listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n };\n\n let loaded = false;\n\n if (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n }\n\n function domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n }\n\n function toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n }\n\n function iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n 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\n var 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\n var 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 <https://mathiasbynens.be/>\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 */\n function ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const 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\n function toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n }\n function codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let 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\n function normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const 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\n function defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const 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] = { ...(namespace.styles[prefix] || {}),\n ...normalized\n };\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\n const {\n styles,\n shims\n } = namespace;\n const LONG_STYLE = {\n [a]: Object.values(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.values(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.values(PREFIX_TO_LONG_STYLE[o])\n };\n let _defaultUsablePrefix = null;\n let _byUnicode = {};\n let _byLigature = {};\n let _byOldName = {};\n let _byOldUnicode = {};\n let _byAlias = {};\n const PREFIXES = {\n [a]: Object.keys(PREFIX_TO_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_STYLE[o])\n };\n\n function isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n }\n\n function getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n }\n const build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(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 const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const 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,\n iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n 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 };\n onChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n });\n build();\n function byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n }\n function byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n }\n function byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n }\n function byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n }\n function byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n }\n function getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n }\n const emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n };\n function getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = a\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n }\n const PREFIXES_FOR_FAMILY = {\n [a]: Object.keys(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_LONG_STYLE[o])\n };\n function getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n const famProps = {\n [a]: \"\".concat(config.cssPrefix, \"-\").concat(a),\n [r]: \"\".concat(config.cssPrefix, \"-\").concat(r),\n [o]: \"\".concat(config.cssPrefix, \"-\").concat(o)\n };\n let givenPrefix = null;\n let family = a;\n const nonDuotoneFamilyIds = c.filter(familyId => familyId !== t);\n nonDuotoneFamilyIds.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n const canonical = values.reduce((acc, cls) => {\n const 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\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && !nonDuotoneFamilyIds.some(familyName => cls === famProps[familyName])) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n const shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n const 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 === r && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (!canonical.prefix && family === o && (styles['fasds'] || config.autoFetchSvg)) {\n canonical.prefix = 'fasds';\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\n class Library {\n constructor() {\n this.definitions = {};\n }\n\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = { ...(this.definitions[key] || {}),\n ...additions[key]\n };\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 const longPrefix = PREFIX_TO_LONG_STYLE[a][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n\n reset() {\n this.definitions = {};\n }\n\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(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\n let _plugins = [];\n let _hooks = {};\n const providers = {};\n const defaultProviderKeys = Object.keys(providers);\n function registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(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(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 const hooks = plugin.hooks();\n Object.keys(hooks).forEach(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 }\n function 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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n }\n function 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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n }\n function callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n }\n\n function findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n let {\n iconName\n } = iconLookup;\n const 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 }\n const library = new Library();\n const noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n };\n const dom = {\n i2svg: function () {\n let 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(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n };\n const parse = {\n 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 const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n 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 const 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 const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n };\n const api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n };\n\n const autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n };\n\n function bootstrap(plugins) {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api;\n }\n\n domready(() => {\n autoReplace();\n callHooks('bootstrap');\n });\n }\n\n namespace.hooks = { ...namespace.hooks,\n addPack: (prefix, icons) => {\n namespace.styles[prefix] = { ...(namespace.styles[prefix] || {}),\n ...icons\n };\n build();\n autoReplace();\n },\n addPacks: packs => {\n packs.forEach(_ref => {\n let [prefix, icons] = _ref;\n namespace.styles[prefix] = { ...(namespace.styles[prefix] || {}),\n ...icons\n };\n });\n build();\n autoReplace();\n },\n addShims: shims => {\n namespace.shims.push(...shims);\n build();\n autoReplace();\n }\n };\n }\n\n function domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n }\n\n function asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles({ ...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,\n children\n }];\n }\n\n function asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const 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: { ...attributes,\n id\n },\n children\n }]\n }];\n }\n\n function makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = prefix === 'fak';\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c => extra.classes.indexOf(c) === -1).filter(c => c !== '' || !!c).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: { ...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 const 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 const args = { ...content,\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: { ...uploadedIconWidthStyle,\n ...extra.styles\n }\n };\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n }\n function makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n const styles = { ...extra.styles\n };\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n 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 function makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n const styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n 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\n const {\n styles: styles$1\n } = namespace;\n function asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let 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,\n height,\n icon: element\n };\n }\n const missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n };\n\n function 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\n function findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const 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 const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve({ ...missingIconResolutionMixin,\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n });\n });\n }\n\n const noop$1 = () => {};\n\n const p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n };\n const preamble = \"FA \\\"6.6.0\\\"\";\n\n const begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n };\n\n const end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n };\n\n var perf = {\n begin,\n end\n };\n\n const noop$2 = () => {};\n\n function isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n }\n\n function hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n }\n\n function hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n }\n\n function getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n }\n\n function createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n\n function createElement(tag) {\n return DOCUMENT.createElement(tag);\n }\n\n function convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n }\n\n function nodeAsComment(node) {\n let 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\n const mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n };\n\n function performOperationSync(op) {\n op();\n }\n\n function perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n }\n let disabled = false;\n function disableObservation() {\n disabled = true;\n }\n function enableObservation() {\n disabled = false;\n }\n let mo$1 = null;\n function observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo$1 = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(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 const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\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$1.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n }\n function disconnect() {\n if (!mo$1) return;\n mo$1.disconnect();\n }\n\n function styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const 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\n function classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let 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\n function attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const 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\n function 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 }\n function parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return {\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n 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 }\n\n const {\n styles: styles$2\n } = namespace;\n\n function generateMutation(node) {\n const 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\n let knownPrefixes = new Set();\n FAMILIES.map(family => {\n knownPrefixes.add(\"fa-\".concat(family));\n });\n Object.keys(PREFIX_TO_STYLE[a]).map(knownPrefixes.add.bind(knownPrefixes));\n Object.keys(PREFIX_TO_STYLE[r]).map(knownPrefixes.add.bind(knownPrefixes));\n Object.keys(PREFIX_TO_STYLE[o]).map(knownPrefixes.add.bind(knownPrefixes));\n knownPrefixes = [...knownPrefixes];\n\n function onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(f$$1 => \"fa-\".concat(f$$1)).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n let candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n }\n\n function onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n }\n\n function resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, { ...params,\n mask\n });\n };\n }\n\n const render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants({\n type: 'icon',\n ...iconDefinition\n }, () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n 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,\n iconName,\n transform: { ...meaninglessTransform,\n ...transform\n },\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n };\n var ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((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(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n let nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n\n };\n\n var Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(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\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n\n };\n }\n\n };\n\n var LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n\n };\n }\n\n };\n\n var LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: { ...meaninglessTransform,\n ...transform\n },\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const 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,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n\n };\n\n const CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\n const SECONDARY_UNICODE_RANGE = [1105920, 1112319];\n const _FONT_FAMILY_WEIGHT_TO_PREFIX = { ...{\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n },\n ...eo,\n ...ao,\n ...mo\n };\n const FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n }, {});\n const FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n }, {});\n function hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const 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 function getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n }\n\n function replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c => c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\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 (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n\n if (isV4) {\n const 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 const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract({ ...meta,\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n });\n const 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(a => toHtml(a)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n }\n\n function replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n }\n\n function 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\n function searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n }\n\n var PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n\n };\n\n let _unwatched = false;\n var MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n\n }\n };\n },\n\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n\n noAuto() {\n disconnect();\n },\n\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n\n };\n }\n\n };\n\n const parseTransformString = transformString => {\n let 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((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n };\n var PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: { ...operations.outer\n },\n children: [{\n tag: 'g',\n attributes: { ...operations.inner\n },\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: { ...main.icon.attributes,\n ...operations.path\n }\n }]\n }]\n };\n };\n }\n\n };\n\n const ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n };\n\n function fillBlack(abstract) {\n let 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\n function deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n }\n\n var Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\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 },\n\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: { ...ALL_SPACE,\n fill: 'white'\n }\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: { ...trans.inner\n },\n children: [fillBlack({\n tag: mainPath.tag,\n attributes: { ...mainPath.attributes,\n ...trans.path\n },\n ...maskInnerGroupChildrenMixin\n })]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: { ...trans.outer\n },\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: { ...ALL_SPACE,\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n },\n children: [maskRect, maskOuterGroup]\n };\n const 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: {\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\"),\n ...ALL_SPACE\n }\n });\n return {\n children,\n attributes\n };\n };\n }\n\n };\n\n var MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: { ...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 const OPACITY_ANIMATE = { ...ANIMATION_BASE,\n attributeName: 'opacity'\n };\n const dot = {\n tag: 'circle',\n attributes: { ...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: { ...ANIMATION_BASE,\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n }\n }, {\n tag: 'animate',\n attributes: { ...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: { ...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: { ...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: { ...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: { ...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 };\n\n var SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n\n };\n }\n\n };\n\n var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\n registerPlugins(plugins, {\n mixoutsTo: api\n });\n bunker(bootstrap);\n\n}());\n", "const noop = () => {};\n\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _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\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar a = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n c = [a, t, r, o];\n\nvar et$1 = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\"\n }\n};\nvar bt = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n},\n Ct = [\"kit\"];\nvar Dt = /fa(s|r|l|t|d|b|k|kd|ss|sr|sl|st|sds)?[\\-\\ ]/,\n Kt = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar ao = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n};\nvar eo = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\"\n }\n},\n lo = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\"\n }\n},\n y = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\"]\n},\n no = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\"\n }\n},\n fo = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n duotone: \"fad\",\n brands: \"fab\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\"\n }\n},\n ho = {\n 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 },\n 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 },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\"\n }\n},\n x$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n u$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n m$1 = u$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n},\n yo = [...Object.keys(y), ...x$1, \"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\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(u$1.map(o => \"\".concat(o, \"x\"))).concat(m$1.map(o => \"w-\".concat(o)));\nvar mo = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n},\n Io = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n},\n Fo = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n},\n So = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n};\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nconst FAMILIES = [a, r, o];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[a];\n }\n\n });\n}\n\nconst _PREFIX_TO_STYLE = { ...ho\n};\n_PREFIX_TO_STYLE[a] = { ...ho[a],\n ...bt['kit'],\n ...bt['kit-duotone']\n};\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = { ...fo\n};\n_STYLE_TO_PREFIX[a] = { ..._STYLE_TO_PREFIX[a],\n ...So['kit'],\n ...So['kit-duotone']\n};\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = { ...no\n};\n_PREFIX_TO_LONG_STYLE[a] = { ..._PREFIX_TO_LONG_STYLE[a],\n ...Fo['kit']\n};\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = { ...lo\n};\n_LONG_STYLE_TO_PREFIX[a] = { ..._LONG_STYLE_TO_PREFIX[a],\n ...Io['kit']\n};\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = Dt; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = Kt;\nconst _FONT_WEIGHT_TO_PREFIX = { ...et$1\n};\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = t$1;\nconst prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[a]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[r]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[o]).map(prefixes.add.bind(prefixes));\nconst RESERVED_CLASSES = [...Ct, ...yo];\n\nconst 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 const 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(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nconst _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\nconst _config = { ..._default,\n ...initial\n};\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\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 (val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst 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 const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const 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}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n\n for (let 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(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((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 let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (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 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\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-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\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 transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\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 transform: scale(var(--fa-counter-scale, 0.25));\\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 transform: scale(var(--fa-layers-scale, 0.25));\\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 transform: scale(var(--fa-layers-scale, 0.25));\\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 transform: scale(var(--fa-layers-scale, 0.25));\\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 transform: scale(var(--fa-layers-scale, 0.25));\\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(-1 * var(--fa-li-width, 2em));\\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 animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\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 animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\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 animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\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 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 transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\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-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\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 const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const 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\nlet _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n\n beforeI2svg() {\n ensureCss();\n }\n\n };\n }\n\n};\n\nconst w$1 = WINDOW || {};\nif (!w$1[NAMESPACE_IDENTIFIER]) w$1[NAMESPACE_IDENTIFIER] = {};\nif (!w$1[NAMESPACE_IDENTIFIER].styles) w$1[NAMESPACE_IDENTIFIER].styles = {};\nif (!w$1[NAMESPACE_IDENTIFIER].hooks) w$1[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w$1[NAMESPACE_IDENTIFIER].shims) w$1[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w$1[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\n\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\n\nlet 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 const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n 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 <https://mathiasbynens.be/>\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 const output = [];\n let counter = 0;\n const length = string.length;\n\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const 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 const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let 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((acc, iconName) => {\n const icon = icons[iconName];\n const 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 let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const 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] = { ...(namespace.styles[prefix] || {}),\n ...normalized\n };\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\nconst {\n styles,\n shims\n} = namespace;\nconst LONG_STYLE = {\n [a]: Object.values(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.values(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.values(PREFIX_TO_LONG_STYLE[o])\n};\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nconst PREFIXES = {\n [a]: Object.keys(PREFIX_TO_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_STYLE[o])\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(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 const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const 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,\n iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n 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(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.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 const oldUnicode = _byOldUnicode[unicode];\n const 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}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = a\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nconst PREFIXES_FOR_FAMILY = {\n [a]: Object.keys(PREFIX_TO_LONG_STYLE[a]),\n [r]: Object.keys(PREFIX_TO_LONG_STYLE[r]),\n [o]: Object.keys(PREFIX_TO_LONG_STYLE[o])\n};\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n const famProps = {\n [a]: \"\".concat(config.cssPrefix, \"-\").concat(a),\n [r]: \"\".concat(config.cssPrefix, \"-\").concat(r),\n [o]: \"\".concat(config.cssPrefix, \"-\").concat(o)\n };\n let givenPrefix = null;\n let family = a;\n const nonDuotoneFamilyIds = c.filter(familyId => familyId !== t);\n nonDuotoneFamilyIds.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n const canonical = values.reduce((acc, cls) => {\n const 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\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && !nonDuotoneFamilyIds.some(familyName => cls === famProps[familyName])) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n const shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n const 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 === r && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (!canonical.prefix && family === o && (styles['fasds'] || config.autoFetchSvg)) {\n canonical.prefix = 'fasds';\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\nclass Library {\n constructor() {\n this.definitions = {};\n }\n\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = { ...(this.definitions[key] || {}),\n ...additions[key]\n };\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 const longPrefix = PREFIX_TO_LONG_STYLE[a][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n\n reset() {\n this.definitions = {};\n }\n\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(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\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(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(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 const hooks = plugin.hooks();\n Object.keys(hooks).forEach(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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const 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 let {\n iconName\n } = iconLookup;\n const 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}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let 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(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n 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 const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n 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 const 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 const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\n\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\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 () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles({ ...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,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const 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: { ...attributes,\n id\n },\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = prefix === 'fak';\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c => extra.classes.indexOf(c) === -1).filter(c => c !== '' || !!c).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: { ...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 const 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 const args = { ...content,\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: { ...uploadedIconWidthStyle,\n ...extra.styles\n }\n };\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n 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 const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n const styles = { ...extra.styles\n };\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n 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 const {\n content,\n title,\n extra\n } = params;\n const attributes = { ...extra.attributes,\n ...(title ? {\n 'title': title\n } : {}),\n 'class': extra.classes.join(' ')\n };\n const styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n const val = [];\n val.push({\n tag: 'span',\n 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\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let 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,\n height,\n icon: element\n };\n}\nconst 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 let givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const 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 const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve({ ...missingIconResolutionMixin,\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n });\n });\n}\n\nconst noop$1 = () => {};\n\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.6.0\\\"\";\n\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\n\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\n\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const 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 const 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 let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n let 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\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\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 const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo$1 = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo$1 = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(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 const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\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$1.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo$1) return;\n mo$1.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const 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 const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let 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 const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const 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 let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return {\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n 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}\n\nconst {\n styles: styles$2\n} = namespace;\n\nfunction generateMutation(node) {\n const 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\nlet knownPrefixes = new Set();\nFAMILIES.map(family => {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[a]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[r]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[o]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = [...knownPrefixes];\n\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n\n const prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(f$$1 => \"fa-\".concat(f$$1)).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n let candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\n\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, { ...params,\n mask\n });\n };\n}\n\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants({\n type: 'icon',\n ...iconDefinition\n }, () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n 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,\n iconName,\n transform: { ...meaninglessTransform,\n ...transform\n },\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((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(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n let nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(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\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n\n };\n }\n\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n\n };\n }\n\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: { ...meaninglessTransform,\n ...transform\n },\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n\n };\n },\n\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const 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,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = { ...{\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n },\n ...eo,\n ...ao,\n ...mo\n};\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\n\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c => c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\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 (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n\n if (isV4) {\n const 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 const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract({ ...meta,\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n });\n const 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(a => toHtml(a)).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((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n\n }\n };\n },\n\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n\n noAuto() {\n disconnect();\n },\n\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n\n };\n }\n\n};\n\nconst parseTransformString = transformString => {\n let 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((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let 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() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n\n };\n },\n\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: { ...operations.outer\n },\n children: [{\n tag: 'g',\n attributes: { ...operations.inner\n },\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: { ...main.icon.attributes,\n ...operations.path\n }\n }]\n }]\n };\n };\n }\n\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\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 },\n\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: { ...ALL_SPACE,\n fill: 'white'\n }\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: { ...trans.inner\n },\n children: [fillBlack({\n tag: mainPath.tag,\n attributes: { ...mainPath.attributes,\n ...trans.path\n },\n ...maskInnerGroupChildrenMixin\n })]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: { ...trans.outer\n },\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: { ...ALL_SPACE,\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n },\n children: [maskRect, maskOuterGroup]\n };\n const 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: {\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\"),\n ...ALL_SPACE\n }\n });\n return {\n children,\n attributes\n };\n };\n }\n\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: { ...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 const OPACITY_ANIMATE = { ...ANIMATION_BASE,\n attributeName: 'opacity'\n };\n const dot = {\n tag: 'circle',\n attributes: { ...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: { ...ANIMATION_BASE,\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n }\n }, {\n tag: 'animate',\n attributes: { ...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: { ...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: { ...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: { ...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: { ...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};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n\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});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst 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 \"@fortawesome/fontawesome-free\";\n\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\nimport { faClock } from \"@fortawesome/free-solid-svg-icons/faClock\";\nimport { faEye } from \"@fortawesome/free-solid-svg-icons/faEye\";\nimport { faFileCode } from \"@fortawesome/free-solid-svg-icons/faFileCode\";\nimport { faGauge } from \"@fortawesome/free-solid-svg-icons/faGauge\";\nimport { faGlobe } from \"@fortawesome/free-solid-svg-icons/faGlobe\";\nimport { faHouse } from \"@fortawesome/free-solid-svg-icons/faHouse\";\nimport { faSliders } from \"@fortawesome/free-solid-svg-icons/faSliders\";\nimport { faUsers } from \"@fortawesome/free-solid-svg-icons/faUsers\";\n\nlibrary.add(\n faClock,\n faEye,\n faGauge,\n faGlobe,\n faHouse,\n faSliders,\n faUsers,\n faFileCode\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["noop", "_WINDOW", "_DOCUMENT", "_MUTATION_OBSERVER", "_PERFORMANCE", "userAgent", "WINDOW", "DOCUMENT", "MUTATION_OBSERVER", "PERFORMANCE", "IS_BROWSER", "IS_DOM", "IS_IE", "a", "t", "r", "o", "c", "et$1", "bt", "Ct", "Dt", "Kt", "ao", "eo", "lo", "y", "no", "fo", "ho", "x$1", "u$1", "m$1", "t$1", "yo", "mo", "Io", "Fo", "So", "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", "FAMILIES", "familyProxy", "_PREFIX_TO_STYLE", "PREFIX_TO_STYLE", "_STYLE_TO_PREFIX", "STYLE_TO_PREFIX", "_PREFIX_TO_LONG_STYLE", "PREFIX_TO_LONG_STYLE", "_LONG_STYLE_TO_PREFIX", "LONG_STYLE_TO_PREFIX", "ICON_SELECTION_SYNTAX_PATTERN", "LAYERS_TEXT_CLASSNAME", "FONT_FAMILY_PATTERN", "_FONT_WEIGHT_TO_PREFIX", "FONT_WEIGHT_TO_PREFIX", "ATTRIBUTES_WATCHED_FOR_MUTATION", "DUOTONE_CLASSES", "prefixes", "RESERVED_CLASSES", "initial", "getAttrConfig", "coerce", "_default", "_config", "config", "_onChangeCb", "onChange", "d$2", "meaninglessTransform", "insertCss", "css", "idPool", "nextUniqueId", "toArray", "classArray", "htmlEscape", "joinAttributes", "joinStyles", "styles", "transformIsMeaningful", "transformForSvg", "transformForCss", "baseStyles", "_cssInserted", "ensureCss", "InjectCSS", "w$1", "namespace", "functions", "listener", "loaded", "domready", "toHtml", "iconFromMapping", "bindInternal4", "reduce", "fastReduceObject", "ucs2decode", "counter", "toHex", "codePointAt", "normalizeIcons", "icon", "defineIcons", "shims", "LONG_STYLE", "_defaultUsablePrefix", "_byUnicode", "_byLigature", "_byOldName", "_byOldUnicode", "_byAlias", "PREFIXES", "isReserved", "getIconName", "build", "getCanonicalPrefix", "byUnicode", "byLigature", "byAlias", "byOldName", "byOldUnicode", "getDefaultUsablePrefix", "emptyCanonicalIcon", "PREFIXES_FOR_FAMILY", "getCanonicalIcon", "Library", "_plugins", "_hooks", "providers", "defaultProviderKeys", "registerPlugins", "chainHooks", "callHooks", "callProvided", "findIconDefinition", "library", "noAuto", "dom", "autoReplace", "parse", "api", "plugins", "domVariants", "asIcon", "asSymbol", "makeInlineSvgAbstract", "makeLayersTextAbstract", "makeLayersCounterAbstract", "styles$1", "asFoundIcon", "missingIconResolutionMixin", "maybeNotifyMissing", "findIcon", "noop$1", "p$2", "preamble", "begin", "end", "perf", "noop$2", "isWatched", "hasPrefixAndIcon", "hasBeenReplaced", "getMutator", "mutators", "createElementNS", "createElement", "convertSVG", "nodeAsComment", "performOperationSync", "perform", "disabled", "disableObservation", "enableObservation", "mo$1", "observe", "disconnect", "styleParser", "style", "classParser", "attributesParser", "blankMeta", "parseMeta", "styles$2", "generateMutation", "knownPrefixes", "onTree", "onNode", "resolveIcons", "render", "ReplaceElements", "mask", "Layers", "LayersCounter", "LayersText", "CLEAN_CONTENT_PATTERN", "SECONDARY_UNICODE_RANGE", "_FONT_FAMILY_WEIGHT_TO_PREFIX", "FONT_FAMILY_WEIGHT_TO_PREFIX", "FONT_FAMILY_WEIGHT_FALLBACK", "hexValueFromContent", "getPrefix", "replaceForPosition", "content", "replace", "processable", "searchPseudoElements", "PseudoElements", "_unwatched", "MutationObserver$1", "parseTransformString", "PowerTransforms", "ALL_SPACE", "fillBlack", "deGroup", "Masks", "MissingIconIndicator", "SvgSymbols", "o", "css", "styles", "bindInternal4", "a", "c", "counter", "icon", "style", "prefixes", "mask", "content", "end", "providers"]
7
+ }