function useHttpRequestLib() {
let e = {}, t = "POST", a = null;
const n = (f) => {
e = f;
}, r = async (f, u) => (t = "POST", a = u, await l(f)), o = async (f) => (t = "GET", await l(f)), s = async (f) => (t = "DELETE", await l(f)), l = async (f) => {
const u = {
method: t,
cache: "no-cache",
credentials: "same-origin"
};
return t === "POST" && (u.body = a), Object.keys(e).length > 0 && (u.headers = e), fetch(f, u).then((c) => {
const m = c.headers.get("content-type");
return m && m.indexOf("application/json") !== -1 ? c.json() : { status: "error", message: "network_error" };
}).catch((c) => ({ status: "error", message: "network_error" }));
};
return {
http_post: r,
http_get: o,
http_delete: s,
setHeaders: n
};
}
function uniqID(e = "", t = !0) {
const n = (Date.now() * 1e3 + Math.random() * 1e3).toString(16).replace(/\./g, "").padEnd(14, "0");
return `${e}${n}${t ? `_${Math.trunc(Math.random() * 1e8)}` : ""}`;
}
function ownKeys(e, t) {
var a = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var n = Object.getOwnPropertySymbols(e);
t && (n = n.filter(function(r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), a.push.apply(a, n);
}
return a;
}
function _objectSpread2(e) {
for (var t = 1; t < arguments.length; t++) {
var a = arguments[t] != null ? arguments[t] : {};
t % 2 ? ownKeys(Object(a), !0).forEach(function(n) {
_defineProperty(e, n, a[n]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(a)) : ownKeys(Object(a)).forEach(function(n) {
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(a, n));
});
}
return e;
}
function _typeof(e) {
"@babel/helpers - typeof";
return _typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
return typeof t;
} : function(t) {
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
}, _typeof(e);
}
function _classCallCheck(e, t) {
if (!(e instanceof t))
throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(e, t) {
for (var a = 0; a < t.length; a++) {
var n = t[a];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
}
}
function _createClass(e, t, a) {
return t && _defineProperties(e.prototype, t), a && _defineProperties(e, a), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _defineProperty(e, t, a) {
return t in e ? Object.defineProperty(e, t, {
value: a,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = a, e;
}
function _slicedToArray(e, t) {
return _arrayWithHoles(e) || _iterableToArrayLimit(e, t) || _unsupportedIterableToArray(e, t) || _nonIterableRest();
}
function _toConsumableArray(e) {
return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread();
}
function _arrayWithoutHoles(e) {
if (Array.isArray(e))
return _arrayLikeToArray(e);
}
function _arrayWithHoles(e) {
if (Array.isArray(e))
return e;
}
function _iterableToArray(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null)
return Array.from(e);
}
function _iterableToArrayLimit(e, t) {
var a = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (a != null) {
var n = [], r = !0, o = !1, s, l;
try {
for (a = a.call(e); !(r = (s = a.next()).done) && (n.push(s.value), !(t && n.length === t)); r = !0)
;
} catch (f) {
o = !0, l = f;
} finally {
try {
!r && a.return != null && a.return();
} finally {
if (o)
throw l;
}
}
return n;
}
}
function _unsupportedIterableToArray(e, t) {
if (e) {
if (typeof e == "string")
return _arrayLikeToArray(e, t);
var a = Object.prototype.toString.call(e).slice(8, -1);
if (a === "Object" && e.constructor && (a = e.constructor.name), a === "Map" || a === "Set")
return Array.from(e);
if (a === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))
return _arrayLikeToArray(e, t);
}
}
function _arrayLikeToArray(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var a = 0, n = new Array(t); a < t; a++)
n[a] = e[a];
return n;
}
function _nonIterableSpread() {
throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
function _nonIterableRest() {
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var noop = function() {
}, _WINDOW = {}, _DOCUMENT = {}, _MUTATION_OBSERVER = null, _PERFORMANCE = {
mark: noop,
measure: noop
};
try {
typeof window < "u" && (_WINDOW = window), typeof document < "u" && (_DOCUMENT = document), typeof MutationObserver < "u" && (_MUTATION_OBSERVER = MutationObserver), typeof performance < "u" && (_PERFORMANCE = performance);
} catch {
}
var _ref = _WINDOW.navigator || {}, _ref$userAgent = _ref.userAgent, userAgent = _ref$userAgent === void 0 ? "" : _ref$userAgent, WINDOW = _WINDOW, DOCUMENT = _DOCUMENT, MUTATION_OBSERVER = _MUTATION_OBSERVER, PERFORMANCE = _PERFORMANCE;
WINDOW.document;
var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener == "function" && typeof DOCUMENT.createElement == "function", IS_IE = ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/"), _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5, NAMESPACE_IDENTIFIER = "___FONT_AWESOME___", UNITS_IN_GRID = 16, DEFAULT_CSS_PREFIX = "fa", DEFAULT_REPLACEMENT_CLASS = "svg-inline--fa", DATA_FA_I2SVG = "data-fa-i2svg", DATA_FA_PSEUDO_ELEMENT = "data-fa-pseudo-element", DATA_FA_PSEUDO_ELEMENT_PENDING = "data-fa-pseudo-element-pending", DATA_PREFIX = "data-prefix", DATA_ICON = "data-icon", HTML_CLASS_I2SVG_BASE_CLASS = "fontawesome-i2svg", MUTATION_APPROACH_ASYNC = "async", TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ["HTML", "HEAD", "STYLE", "SCRIPT"], PRODUCTION = function() {
try {
return process.env.NODE_ENV === "production";
} catch {
return !1;
}
}(), FAMILY_CLASSIC = "classic", FAMILY_SHARP = "sharp", FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];
function familyProxy(e) {
return new Proxy(e, {
get: function(a, n) {
return n in a ? a[n] : a[FAMILY_CLASSIC];
}
});
}
var PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {
fa: "solid",
fas: "solid",
"fa-solid": "solid",
far: "regular",
"fa-regular": "regular",
fal: "light",
"fa-light": "light",
fat: "thin",
"fa-thin": "thin",
fad: "duotone",
"fa-duotone": "duotone",
fab: "brands",
"fa-brands": "brands",
fak: "kit",
fakd: "kit",
"fa-kit": "kit",
"fa-kit-duotone": "kit"
}), _defineProperty(_familyProxy, FAMILY_SHARP, {
fa: "solid",
fass: "solid",
"fa-solid": "solid",
fasr: "regular",
"fa-regular": "regular",
fasl: "light",
"fa-light": "light",
fast: "thin",
"fa-thin": "thin"
}), _familyProxy)), STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {
solid: "fas",
regular: "far",
light: "fal",
thin: "fat",
duotone: "fad",
brands: "fab",
kit: "fak"
}), _defineProperty(_familyProxy2, FAMILY_SHARP, {
solid: "fass",
regular: "fasr",
light: "fasl",
thin: "fast"
}), _familyProxy2)), PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {
fab: "fa-brands",
fad: "fa-duotone",
fak: "fa-kit",
fal: "fa-light",
far: "fa-regular",
fas: "fa-solid",
fat: "fa-thin"
}), _defineProperty(_familyProxy3, FAMILY_SHARP, {
fass: "fa-solid",
fasr: "fa-regular",
fasl: "fa-light",
fast: "fa-thin"
}), _familyProxy3)), LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {
"fa-brands": "fab",
"fa-duotone": "fad",
"fa-kit": "fak",
"fa-light": "fal",
"fa-regular": "far",
"fa-solid": "fas",
"fa-thin": "fat"
}), _defineProperty(_familyProxy4, FAMILY_SHARP, {
"fa-solid": "fass",
"fa-regular": "fasr",
"fa-light": "fasl",
"fa-thin": "fast"
}), _familyProxy4)), ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl|st)?[\-\ ]/, LAYERS_TEXT_CLASSNAME = "fa-layers-text", FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i, FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {
900: "fas",
400: "far",
normal: "far",
300: "fal",
100: "fat"
}), _defineProperty(_familyProxy5, FAMILY_SHARP, {
900: "fass",
400: "fasr",
300: "fasl",
100: "fast"
}), _familyProxy5)), oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ATTRIBUTES_WATCHED_FOR_MUTATION = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], DUOTONE_CLASSES = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
}, prefixes = /* @__PURE__ */ new Set();
Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));
Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));
var RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ["2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function(e) {
return "".concat(e, "x");
})).concat(oneToTwenty.map(function(e) {
return "w-".concat(e);
})), initial = WINDOW.FontAwesomeConfig || {};
function getAttrConfig(e) {
var t = DOCUMENT.querySelector("script[" + e + "]");
if (t)
return t.getAttribute(e);
}
function coerce(e) {
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
}
if (DOCUMENT && typeof DOCUMENT.querySelector == "function") {
var attrs = [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]];
attrs.forEach(function(e) {
var t = _slicedToArray(e, 2), a = t[0], n = t[1], r = coerce(getAttrConfig(a));
r != null && (initial[n] = r);
});
}
var _default = {
styleDefault: "solid",
familyDefault: "classic",
cssPrefix: DEFAULT_CSS_PREFIX,
replacementClass: DEFAULT_REPLACEMENT_CLASS,
autoReplaceSvg: !0,
autoAddCss: !0,
autoA11y: !0,
searchPseudoElements: !1,
observeMutations: !0,
mutateApproach: "async",
keepOriginalSource: !0,
measurePerformance: !1,
showMissingIcons: !0
};
initial.familyPrefix && (initial.cssPrefix = initial.familyPrefix);
var _config = _objectSpread2(_objectSpread2({}, _default), initial);
_config.autoReplaceSvg || (_config.observeMutations = !1);
var config = {};
Object.keys(_default).forEach(function(e) {
Object.defineProperty(config, e, {
enumerable: !0,
set: function(a) {
_config[e] = a, _onChangeCb.forEach(function(n) {
return n(config);
});
},
get: function() {
return _config[e];
}
});
});
Object.defineProperty(config, "familyPrefix", {
enumerable: !0,
set: function(t) {
_config.cssPrefix = t, _onChangeCb.forEach(function(a) {
return a(config);
});
},
get: function() {
return _config.cssPrefix;
}
});
WINDOW.FontAwesomeConfig = config;
var _onChangeCb = [];
function onChange(e) {
return _onChangeCb.push(e), function() {
_onChangeCb.splice(_onChangeCb.indexOf(e), 1);
};
}
var d = UNITS_IN_GRID, meaninglessTransform = {
size: 16,
x: 0,
y: 0,
rotate: 0,
flipX: !1,
flipY: !1
};
function insertCss(e) {
if (!(!e || !IS_DOM)) {
var t = DOCUMENT.createElement("style");
t.setAttribute("type", "text/css"), t.innerHTML = e;
for (var a = DOCUMENT.head.childNodes, n = null, r = a.length - 1; r > -1; r--) {
var o = a[r], s = (o.tagName || "").toUpperCase();
["STYLE", "LINK"].indexOf(s) > -1 && (n = o);
}
return DOCUMENT.head.insertBefore(t, n), e;
}
}
var idPool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function nextUniqueId() {
for (var e = 12, t = ""; e-- > 0; )
t += idPool[Math.random() * 62 | 0];
return t;
}
function toArray(e) {
for (var t = [], a = (e || []).length >>> 0; a--; )
t[a] = e[a];
return t;
}
function classArray(e) {
return e.classList ? toArray(e.classList) : (e.getAttribute("class") || "").split(" ").filter(function(t) {
return t;
});
}
function htmlEscape(e) {
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">");
}
function joinAttributes(e) {
return Object.keys(e || {}).reduce(function(t, a) {
return t + "".concat(a, '="').concat(htmlEscape(e[a]), '" ');
}, "").trim();
}
function joinStyles(e) {
return Object.keys(e || {}).reduce(function(t, a) {
return t + "".concat(a, ": ").concat(e[a].trim(), ";");
}, "");
}
function transformIsMeaningful(e) {
return e.size !== meaninglessTransform.size || e.x !== meaninglessTransform.x || e.y !== meaninglessTransform.y || e.rotate !== meaninglessTransform.rotate || e.flipX || e.flipY;
}
function transformForSvg(e) {
var t = e.transform, a = e.containerWidth, n = e.iconWidth, r = {
transform: "translate(".concat(a / 2, " 256)")
}, o = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), s = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), l = "rotate(".concat(t.rotate, " 0 0)"), f = {
transform: "".concat(o, " ").concat(s, " ").concat(l)
}, u = {
transform: "translate(".concat(n / 2 * -1, " -256)")
};
return {
outer: r,
inner: f,
path: u
};
}
function transformForCss(e) {
var t = e.transform, a = e.width, n = a === void 0 ? UNITS_IN_GRID : a, r = e.height, o = r === void 0 ? UNITS_IN_GRID : r, s = e.startCentered, l = s === void 0 ? !1 : s, f = "";
return l && IS_IE ? f += "translate(".concat(t.x / d - n / 2, "em, ").concat(t.y / d - o / 2, "em) ") : l ? f += "translate(calc(-50% + ".concat(t.x / d, "em), calc(-50% + ").concat(t.y / d, "em)) ") : f += "translate(".concat(t.x / d, "em, ").concat(t.y / d, "em) "), f += "scale(".concat(t.size / d * (t.flipX ? -1 : 1), ", ").concat(t.size / d * (t.flipY ? -1 : 1), ") "), f += "rotate(".concat(t.rotate, "deg) "), f;
}
var baseStyles = `:root, :host {
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
--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-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
overflow: visible;
box-sizing: content-box;
}
.svg-inline--fa {
display: var(--fa-display, inline-block);
height: 1em;
overflow: visible;
vertical-align: -0.125em;
}
.svg-inline--fa.fa-2xs {
vertical-align: 0.1em;
}
.svg-inline--fa.fa-xs {
vertical-align: 0em;
}
.svg-inline--fa.fa-sm {
vertical-align: -0.0714285705em;
}
.svg-inline--fa.fa-lg {
vertical-align: -0.2em;
}
.svg-inline--fa.fa-xl {
vertical-align: -0.25em;
}
.svg-inline--fa.fa-2xl {
vertical-align: -0.3125em;
}
.svg-inline--fa.fa-pull-left {
margin-right: var(--fa-pull-margin, 0.3em);
width: auto;
}
.svg-inline--fa.fa-pull-right {
margin-left: var(--fa-pull-margin, 0.3em);
width: auto;
}
.svg-inline--fa.fa-li {
width: var(--fa-li-width, 2em);
top: 0.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: -0.125em;
width: 1em;
}
.fa-layers svg.svg-inline--fa {
-webkit-transform-origin: center center;
transform-origin: center center;
}
.fa-layers-text {
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-transform-origin: center center;
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, 0.25em 0.5em);
right: var(--fa-right, 0);
text-overflow: ellipsis;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-counter-scale, 0.25));
transform: scale(var(--fa-counter-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right;
}
.fa-layers-bottom-right {
bottom: var(--fa-bottom, 0);
right: var(--fa-right, 0);
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom right;
transform-origin: bottom right;
}
.fa-layers-bottom-left {
bottom: var(--fa-bottom, 0);
left: var(--fa-left, 0);
right: auto;
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
}
.fa-layers-top-right {
top: var(--fa-top, 0);
right: var(--fa-right, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right;
}
.fa-layers-top-left {
left: var(--fa-left, 0);
right: auto;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top left;
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: 0.625em;
line-height: 0.1em;
vertical-align: 0.225em;
}
.fa-xs {
font-size: 0.75em;
line-height: 0.0833333337em;
vertical-align: 0.125em;
}
.fa-sm {
font-size: 0.875em;
line-height: 0.0714285718em;
vertical-align: 0.0535714295em;
}
.fa-lg {
font-size: 1.25em;
line-height: 0.05em;
vertical-align: -0.075em;
}
.fa-xl {
font-size: 1.5em;
line-height: 0.0416666682em;
vertical-align: -0.125em;
}
.fa-2xl {
font-size: 2em;
line-height: 0.03125em;
vertical-align: -0.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(var(--fa-li-width, 2em) * -1);
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, 0.1em);
border-style: var(--fa-border-style, solid);
border-width: var(--fa-border-width, 0.08em);
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}
.fa-pull-left {
float: left;
margin-right: var(--fa-pull-margin, 0.3em);
}
.fa-pull-right {
float: right;
margin-left: var(--fa-pull-margin, 0.3em);
}
.fa-beat {
-webkit-animation-name: fa-beat;
animation-name: fa-beat;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out);
}
.fa-bounce {
-webkit-animation-name: fa-bounce;
animation-name: fa-bounce;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}
.fa-fade {
-webkit-animation-name: fa-fade;
animation-name: fa-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}
.fa-beat-fade {
-webkit-animation-name: fa-beat-fade;
animation-name: fa-beat-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}
.fa-flip {
-webkit-animation-name: fa-flip;
animation-name: fa-flip;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out);
}
.fa-shake {
-webkit-animation-name: fa-shake;
animation-name: fa-shake;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear);
}
.fa-spin {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 2s);
animation-duration: var(--fa-animation-duration, 2s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear);
}
.fa-spin-reverse {
--fa-animation-direction: reverse;
}
.fa-pulse,
.fa-spin-pulse {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
animation-timing-function: var(--fa-animation-timing, steps(8));
}
@media (prefers-reduced-motion: reduce) {
.fa-beat,
.fa-bounce,
.fa-fade,
.fa-beat-fade,
.fa-flip,
.fa-pulse,
.fa-shake,
.fa-spin,
.fa-spin-pulse {
-webkit-animation-delay: -1ms;
animation-delay: -1ms;
-webkit-animation-duration: 1ms;
animation-duration: 1ms;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
-webkit-transition-delay: 0s;
transition-delay: 0s;
-webkit-transition-duration: 0s;
transition-duration: 0s;
}
}
@-webkit-keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1);
}
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25));
}
}
@keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1);
}
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25));
}
}
@-webkit-keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
}
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
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));
}
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
}
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
}
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
}
@keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
}
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
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));
}
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
}
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
}
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0);
}
}
@-webkit-keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4);
}
}
@keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4);
}
}
@-webkit-keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125));
}
}
@keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125));
}
}
@-webkit-keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
}
}
@keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
}
}
@-webkit-keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg);
}
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg);
}
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg);
}
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg);
}
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg);
}
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg);
}
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg);
}
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg);
}
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg);
}
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg);
}
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg);
}
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg);
}
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg);
}
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg);
}
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg);
}
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg);
}
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.fa-rotate-90 {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
-webkit-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.fa-flip-vertical {
-webkit-transform: scale(1, -1);
transform: scale(1, -1);
}
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
-webkit-transform: scale(-1, -1);
transform: scale(-1, -1);
}
.fa-rotate-by {
-webkit-transform: rotate(var(--fa-rotate-angle, none));
transform: rotate(var(--fa-rotate-angle, none));
}
.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);
}
.sr-only,
.fa-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;
}
.sr-only-focusable:not(:focus),
.fa-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, 0.4);
}
.svg-inline--fa.fa-swap-opacity .fa-primary {
opacity: var(--fa-secondary-opacity, 0.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: black;
}
.fad.fa-inverse,
.fa-duotone.fa-inverse {
color: var(--fa-inverse, #fff);
}`;
function css() {
var e = DEFAULT_CSS_PREFIX, t = DEFAULT_REPLACEMENT_CLASS, a = config.cssPrefix, n = config.replacementClass, r = baseStyles;
if (a !== e || n !== t) {
var o = new RegExp("\\.".concat(e, "\\-"), "g"), s = new RegExp("\\--".concat(e, "\\-"), "g"), l = new RegExp("\\.".concat(t), "g");
r = r.replace(o, ".".concat(a, "-")).replace(s, "--".concat(a, "-")).replace(l, ".".concat(n));
}
return r;
}
var _cssInserted = !1;
function ensureCss() {
config.autoAddCss && !_cssInserted && (insertCss(css()), _cssInserted = !0);
}
var InjectCSS = {
mixout: function() {
return {
dom: {
css,
insertCss: ensureCss
}
};
},
hooks: function() {
return {
beforeDOMElementCreation: function() {
ensureCss();
},
beforeI2svg: function() {
ensureCss();
}
};
}
}, w = WINDOW || {};
w[NAMESPACE_IDENTIFIER] || (w[NAMESPACE_IDENTIFIER] = {});
w[NAMESPACE_IDENTIFIER].styles || (w[NAMESPACE_IDENTIFIER].styles = {});
w[NAMESPACE_IDENTIFIER].hooks || (w[NAMESPACE_IDENTIFIER].hooks = {});
w[NAMESPACE_IDENTIFIER].shims || (w[NAMESPACE_IDENTIFIER].shims = []);
var namespace = w[NAMESPACE_IDENTIFIER], functions = [], listener = function e() {
DOCUMENT.removeEventListener("DOMContentLoaded", e), loaded = 1, functions.map(function(t) {
return t();
});
}, loaded = !1;
IS_DOM && (loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState), loaded || DOCUMENT.addEventListener("DOMContentLoaded", listener));
function domready(e) {
IS_DOM && (loaded ? setTimeout(e, 0) : functions.push(e));
}
function toHtml(e) {
var t = e.tag, a = e.attributes, n = a === void 0 ? {} : a, r = e.children, o = r === void 0 ? [] : r;
return typeof e == "string" ? htmlEscape(e) : "<".concat(t, " ").concat(joinAttributes(n), ">").concat(o.map(toHtml).join(""), "").concat(t, ">");
}
function iconFromMapping(e, t, a) {
if (e && e[t] && e[t][a])
return {
prefix: t,
iconName: a,
icon: e[t][a]
};
}
var bindInternal4 = function(t, a) {
return function(n, r, o, s) {
return t.call(a, n, r, o, s);
};
}, reduce = function(t, a, n, r) {
var o = Object.keys(t), s = o.length, l = r !== void 0 ? bindInternal4(a, r) : a, f, u, c;
for (n === void 0 ? (f = 1, c = t[o[0]]) : (f = 0, c = n); f < s; f++)
u = o[f], c = l(c, t[u], u, t);
return c;
};
function ucs2decode(e) {
for (var t = [], a = 0, n = e.length; a < n; ) {
var r = e.charCodeAt(a++);
if (r >= 55296 && r <= 56319 && a < n) {
var o = e.charCodeAt(a++);
(o & 64512) == 56320 ? t.push(((r & 1023) << 10) + (o & 1023) + 65536) : (t.push(r), a--);
} else
t.push(r);
}
return t;
}
function toHex(e) {
var t = ucs2decode(e);
return t.length === 1 ? t[0].toString(16) : null;
}
function codePointAt(e, t) {
var a = e.length, n = e.charCodeAt(t), r;
return n >= 55296 && n <= 56319 && a > t + 1 && (r = e.charCodeAt(t + 1), r >= 56320 && r <= 57343) ? (n - 55296) * 1024 + r - 56320 + 65536 : n;
}
function normalizeIcons(e) {
return Object.keys(e).reduce(function(t, a) {
var n = e[a], r = !!n.icon;
return r ? t[n.iconName] = n.icon : t[a] = n, t;
}, {});
}
function defineIcons(e, t) {
var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, n = a.skipHooks, r = n === void 0 ? !1 : n, o = normalizeIcons(t);
typeof namespace.hooks.addPack == "function" && !r ? namespace.hooks.addPack(e, normalizeIcons(t)) : namespace.styles[e] = _objectSpread2(_objectSpread2({}, namespace.styles[e] || {}), o), e === "fas" && defineIcons("fa", t);
}
var _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY, styles = namespace.styles, shims = namespace.shims, LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE), _defaultUsablePrefix = null, _byUnicode = {}, _byLigature = {}, _byOldName = {}, _byOldUnicode = {}, _byAlias = {}, PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);
function isReserved(e) {
return ~RESERVED_CLASSES.indexOf(e);
}
function getIconName(e, t) {
var a = t.split("-"), n = a[0], r = a.slice(1).join("-");
return n === e && r !== "" && !isReserved(r) ? r : null;
}
var build = function() {
var t = function(o) {
return reduce(styles, function(s, l, f) {
return s[f] = reduce(l, o, {}), s;
}, {});
};
_byUnicode = t(function(r, o, s) {
if (o[3] && (r[o[3]] = s), o[2]) {
var l = o[2].filter(function(f) {
return typeof f == "number";
});
l.forEach(function(f) {
r[f.toString(16)] = s;
});
}
return r;
}), _byLigature = t(function(r, o, s) {
if (r[s] = s, o[2]) {
var l = o[2].filter(function(f) {
return typeof f == "string";
});
l.forEach(function(f) {
r[f] = s;
});
}
return r;
}), _byAlias = t(function(r, o, s) {
var l = o[2];
return r[s] = s, l.forEach(function(f) {
r[f] = s;
}), r;
});
var a = "far" in styles || config.autoFetchSvg, n = reduce(shims, function(r, o) {
var s = o[0], l = o[1], f = o[2];
return l === "far" && !a && (l = "fas"), typeof s == "string" && (r.names[s] = {
prefix: l,
iconName: f
}), typeof s == "number" && (r.unicodes[s.toString(16)] = {
prefix: l,
iconName: f
}), r;
}, {
names: {},
unicodes: {}
});
_byOldName = n.names, _byOldUnicode = n.unicodes, _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {
family: config.familyDefault
});
};
onChange(function(e) {
_defaultUsablePrefix = getCanonicalPrefix(e.styleDefault, {
family: config.familyDefault
});
});
build();
function byUnicode(e, t) {
return (_byUnicode[e] || {})[t];
}
function byLigature(e, t) {
return (_byLigature[e] || {})[t];
}
function byAlias(e, t) {
return (_byAlias[e] || {})[t];
}
function byOldName(e) {
return _byOldName[e] || {
prefix: null,
iconName: null
};
}
function byOldUnicode(e) {
var t = _byOldUnicode[e], a = byUnicode("fas", e);
return t || (a ? {
prefix: "fas",
iconName: a
} : null) || {
prefix: null,
iconName: null
};
}
function getDefaultUsablePrefix() {
return _defaultUsablePrefix;
}
var emptyCanonicalIcon = function() {
return {
prefix: null,
iconName: null,
rest: []
};
};
function getCanonicalPrefix(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.family, n = a === void 0 ? FAMILY_CLASSIC : a, r = PREFIX_TO_STYLE[n][e], o = STYLE_TO_PREFIX[n][e] || STYLE_TO_PREFIX[n][r], s = e in namespace.styles ? e : null;
return o || s || null;
}
var PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);
function getCanonicalIcon(e) {
var t, a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = a.skipLookups, r = n === void 0 ? !1 : n, o = (t = {}, _defineProperty(t, FAMILY_CLASSIC, "".concat(config.cssPrefix, "-").concat(FAMILY_CLASSIC)), _defineProperty(t, FAMILY_SHARP, "".concat(config.cssPrefix, "-").concat(FAMILY_SHARP)), t), s = null, l = FAMILY_CLASSIC;
(e.includes(o[FAMILY_CLASSIC]) || e.some(function(u) {
return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(u);
})) && (l = FAMILY_CLASSIC), (e.includes(o[FAMILY_SHARP]) || e.some(function(u) {
return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(u);
})) && (l = FAMILY_SHARP);
var f = e.reduce(function(u, c) {
var m = getIconName(config.cssPrefix, c);
if (styles[c] ? (c = LONG_STYLE[l].includes(c) ? LONG_STYLE_TO_PREFIX[l][c] : c, s = c, u.prefix = c) : PREFIXES[l].indexOf(c) > -1 ? (s = c, u.prefix = getCanonicalPrefix(c, {
family: l
})) : m ? u.iconName = m : c !== config.replacementClass && c !== o[FAMILY_CLASSIC] && c !== o[FAMILY_SHARP] && u.rest.push(c), !r && u.prefix && u.iconName) {
var y = s === "fa" ? byOldName(u.iconName) : {}, b = byAlias(u.prefix, u.iconName);
y.prefix && (s = null), u.iconName = y.iconName || b || u.iconName, u.prefix = y.prefix || u.prefix, u.prefix === "far" && !styles.far && styles.fas && !config.autoFetchSvg && (u.prefix = "fas");
}
return u;
}, emptyCanonicalIcon());
return (e.includes("fa-brands") || e.includes("fab")) && (f.prefix = "fab"), (e.includes("fa-duotone") || e.includes("fad")) && (f.prefix = "fad"), !f.prefix && l === FAMILY_SHARP && (styles.fass || config.autoFetchSvg) && (f.prefix = "fass", f.iconName = byAlias(f.prefix, f.iconName) || f.iconName), (f.prefix === "fa" || s === "fa") && (f.prefix = getDefaultUsablePrefix() || "fas"), f;
}
var Library = /* @__PURE__ */ function() {
function e() {
_classCallCheck(this, e), this.definitions = {};
}
return _createClass(e, [{
key: "add",
value: function() {
for (var a = this, n = arguments.length, r = new Array(n), o = 0; o < n; o++)
r[o] = arguments[o];
var s = r.reduce(this._pullDefinitions, {});
Object.keys(s).forEach(function(l) {
a.definitions[l] = _objectSpread2(_objectSpread2({}, a.definitions[l] || {}), s[l]), defineIcons(l, s[l]);
var f = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][l];
f && defineIcons(f, s[l]), build();
});
}
}, {
key: "reset",
value: function() {
this.definitions = {};
}
}, {
key: "_pullDefinitions",
value: function(a, n) {
var r = n.prefix && n.iconName && n.icon ? {
0: n
} : n;
return Object.keys(r).map(function(o) {
var s = r[o], l = s.prefix, f = s.iconName, u = s.icon, c = u[2];
a[l] || (a[l] = {}), c.length > 0 && c.forEach(function(m) {
typeof m == "string" && (a[l][m] = u);
}), a[l][f] = u;
}), a;
}
}]), e;
}(), _plugins = [], _hooks = {}, providers = {}, defaultProviderKeys = Object.keys(providers);
function registerPlugins(e, t) {
var a = t.mixoutsTo;
return _plugins = e, _hooks = {}, Object.keys(providers).forEach(function(n) {
defaultProviderKeys.indexOf(n) === -1 && delete providers[n];
}), _plugins.forEach(function(n) {
var r = n.mixout ? n.mixout() : {};
if (Object.keys(r).forEach(function(s) {
typeof r[s] == "function" && (a[s] = r[s]), _typeof(r[s]) === "object" && Object.keys(r[s]).forEach(function(l) {
a[s] || (a[s] = {}), a[s][l] = r[s][l];
});
}), n.hooks) {
var o = n.hooks();
Object.keys(o).forEach(function(s) {
_hooks[s] || (_hooks[s] = []), _hooks[s].push(o[s]);
});
}
n.provides && n.provides(providers);
}), a;
}
function chainHooks(e, t) {
for (var a = arguments.length, n = new Array(a > 2 ? a - 2 : 0), r = 2; r < a; r++)
n[r - 2] = arguments[r];
var o = _hooks[e] || [];
return o.forEach(function(s) {
t = s.apply(null, [t].concat(n));
}), t;
}
function callHooks(e) {
for (var t = arguments.length, a = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
a[n - 1] = arguments[n];
var r = _hooks[e] || [];
r.forEach(function(o) {
o.apply(null, a);
});
}
function callProvided() {
var e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
return providers[e] ? providers[e].apply(null, t) : void 0;
}
function findIconDefinition(e) {
e.prefix === "fa" && (e.prefix = "fas");
var t = e.iconName, a = e.prefix || getDefaultUsablePrefix();
if (t)
return t = byAlias(a, t) || t, iconFromMapping(library.definitions, a, t) || iconFromMapping(namespace.styles, a, t);
}
var library = new Library(), noAuto = function() {
config.autoReplaceSvg = !1, config.observeMutations = !1, callHooks("noAuto");
}, dom = {
i2svg: function() {
var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return IS_DOM ? (callHooks("beforeI2svg", t), callProvided("pseudoElements2svg", t), callProvided("i2svg", t)) : Promise.reject("Operation requires a DOM of some kind.");
},
watch: function() {
var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, a = t.autoReplaceSvgRoot;
config.autoReplaceSvg === !1 && (config.autoReplaceSvg = !0), config.observeMutations = !0, domready(function() {
autoReplace({
autoReplaceSvgRoot: a
}), callHooks("watch", t);
});
}
}, parse = {
icon: function(t) {
if (t === null)
return null;
if (_typeof(t) === "object" && t.prefix && t.iconName)
return {
prefix: t.prefix,
iconName: byAlias(t.prefix, t.iconName) || t.iconName
};
if (Array.isArray(t) && t.length === 2) {
var a = t[1].indexOf("fa-") === 0 ? t[1].slice(3) : t[1], n = getCanonicalPrefix(t[0]);
return {
prefix: n,
iconName: byAlias(n, a) || a
};
}
if (typeof t == "string" && (t.indexOf("".concat(config.cssPrefix, "-")) > -1 || t.match(ICON_SELECTION_SYNTAX_PATTERN))) {
var r = getCanonicalIcon(t.split(" "), {
skipLookups: !0
});
return {
prefix: r.prefix || getDefaultUsablePrefix(),
iconName: byAlias(r.prefix, r.iconName) || r.iconName
};
}
if (typeof t == "string") {
var o = getDefaultUsablePrefix();
return {
prefix: o,
iconName: byAlias(o, t) || t
};
}
}
}, api = {
noAuto,
config,
dom,
parse,
library,
findIconDefinition,
toHtml
}, autoReplace = function() {
var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, a = t.autoReplaceSvgRoot, n = a === void 0 ? DOCUMENT : a;
(Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg && api.dom.i2svg({
node: n
});
};
function domVariants(e, t) {
return Object.defineProperty(e, "abstract", {
get: t
}), Object.defineProperty(e, "html", {
get: function() {
return e.abstract.map(function(n) {
return toHtml(n);
});
}
}), Object.defineProperty(e, "node", {
get: function() {
if (IS_DOM) {
var n = DOCUMENT.createElement("div");
return n.innerHTML = e.html, n.children;
}
}
}), e;
}
function asIcon(e) {
var t = e.children, a = e.main, n = e.mask, r = e.attributes, o = e.styles, s = e.transform;
if (transformIsMeaningful(s) && a.found && !n.found) {
var l = a.width, f = a.height, u = {
x: l / f / 2,
y: 0.5
};
r.style = joinStyles(_objectSpread2(_objectSpread2({}, o), {}, {
"transform-origin": "".concat(u.x + s.x / 16, "em ").concat(u.y + s.y / 16, "em")
}));
}
return [{
tag: "svg",
attributes: r,
children: t
}];
}
function asSymbol(e) {
var t = e.prefix, a = e.iconName, n = e.children, r = e.attributes, o = e.symbol, s = o === !0 ? "".concat(t, "-").concat(config.cssPrefix, "-").concat(a) : o;
return [{
tag: "svg",
attributes: {
style: "display: none;"
},
children: [{
tag: "symbol",
attributes: _objectSpread2(_objectSpread2({}, r), {}, {
id: s
}),
children: n
}]
}];
}
function makeInlineSvgAbstract(e) {
var t = e.icons, a = t.main, n = t.mask, r = e.prefix, o = e.iconName, s = e.transform, l = e.symbol, f = e.title, u = e.maskId, c = e.titleId, m = e.extra, y = e.watchable, b = y === void 0 ? !1 : y, _ = n.found ? n : a, A = _.width, E = _.height, v = r === "fak", h = [config.replacementClass, o ? "".concat(config.cssPrefix, "-").concat(o) : ""].filter(function(g) {
return m.classes.indexOf(g) === -1;
}).filter(function(g) {
return g !== "" || !!g;
}).concat(m.classes).join(" "), I = {
children: [],
attributes: _objectSpread2(_objectSpread2({}, m.attributes), {}, {
"data-prefix": r,
"data-icon": o,
class: h,
role: m.attributes.role || "img",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 ".concat(A, " ").concat(E)
})
}, T = v && !~m.classes.indexOf("fa-fw") ? {
width: "".concat(A / E * 16 * 0.0625, "em")
} : {};
b && (I.attributes[DATA_FA_I2SVG] = ""), f && (I.children.push({
tag: "title",
attributes: {
id: I.attributes["aria-labelledby"] || "title-".concat(c || nextUniqueId())
},
children: [f]
}), delete I.attributes.title);
var x = _objectSpread2(_objectSpread2({}, I), {}, {
prefix: r,
iconName: o,
main: a,
mask: n,
maskId: u,
transform: s,
symbol: l,
styles: _objectSpread2(_objectSpread2({}, T), m.styles)
}), k = n.found && a.found ? callProvided("generateAbstractMask", x) || {
children: [],
attributes: {}
} : callProvided("generateAbstractIcon", x) || {
children: [],
attributes: {}
}, L = k.children, N = k.attributes;
return x.children = L, x.attributes = N, l ? asSymbol(x) : asIcon(x);
}
function makeLayersTextAbstract(e) {
var t = e.content, a = e.width, n = e.height, r = e.transform, o = e.title, s = e.extra, l = e.watchable, f = l === void 0 ? !1 : l, u = _objectSpread2(_objectSpread2(_objectSpread2({}, s.attributes), o ? {
title: o
} : {}), {}, {
class: s.classes.join(" ")
});
f && (u[DATA_FA_I2SVG] = "");
var c = _objectSpread2({}, s.styles);
transformIsMeaningful(r) && (c.transform = transformForCss({
transform: r,
startCentered: !0,
width: a,
height: n
}), c["-webkit-transform"] = c.transform);
var m = joinStyles(c);
m.length > 0 && (u.style = m);
var y = [];
return y.push({
tag: "span",
attributes: u,
children: [t]
}), o && y.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [o]
}), y;
}
function makeLayersCounterAbstract(e) {
var t = e.content, a = e.title, n = e.extra, r = _objectSpread2(_objectSpread2(_objectSpread2({}, n.attributes), a ? {
title: a
} : {}), {}, {
class: n.classes.join(" ")
}), o = joinStyles(n.styles);
o.length > 0 && (r.style = o);
var s = [];
return s.push({
tag: "span",
attributes: r,
children: [t]
}), a && s.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [a]
}), s;
}
var styles$1 = namespace.styles;
function asFoundIcon(e) {
var t = e[0], a = e[1], n = e.slice(4), r = _slicedToArray(n, 1), o = r[0], s = null;
return Array.isArray(o) ? s = {
tag: "g",
attributes: {
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.GROUP)
},
children: [{
tag: "path",
attributes: {
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.SECONDARY),
fill: "currentColor",
d: o[0]
}
}, {
tag: "path",
attributes: {
class: "".concat(config.cssPrefix, "-").concat(DUOTONE_CLASSES.PRIMARY),
fill: "currentColor",
d: o[1]
}
}]
} : s = {
tag: "path",
attributes: {
fill: "currentColor",
d: o
}
}, {
found: !0,
width: t,
height: a,
icon: s
};
}
var missingIconResolutionMixin = {
found: !1,
width: 512,
height: 512
};
function maybeNotifyMissing(e, t) {
!PRODUCTION && !config.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
}
function findIcon(e, t) {
var a = t;
return t === "fa" && config.styleDefault !== null && (t = getDefaultUsablePrefix()), new Promise(function(n, r) {
if (callProvided("missingIconAbstract"), a === "fa") {
var o = byOldName(e) || {};
e = o.iconName || e, t = o.prefix || t;
}
if (e && t && styles$1[t] && styles$1[t][e]) {
var s = styles$1[t][e];
return n(asFoundIcon(s));
}
maybeNotifyMissing(e, t), n(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {
icon: config.showMissingIcons && e ? callProvided("missingIconAbstract") || {} : {}
}));
});
}
var noop$1 = function() {
}, p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {
mark: noop$1,
measure: noop$1
}, preamble = 'FA "6.5.1"', begin = function(t) {
return p.mark("".concat(preamble, " ").concat(t, " begins")), function() {
return end(t);
};
}, end = function(t) {
p.mark("".concat(preamble, " ").concat(t, " ends")), p.measure("".concat(preamble, " ").concat(t), "".concat(preamble, " ").concat(t, " begins"), "".concat(preamble, " ").concat(t, " ends"));
}, perf = {
begin,
end
}, noop$2 = function() {
};
function isWatched(e) {
var t = e.getAttribute ? e.getAttribute(DATA_FA_I2SVG) : null;
return typeof t == "string";
}
function hasPrefixAndIcon(e) {
var t = e.getAttribute ? e.getAttribute(DATA_PREFIX) : null, a = e.getAttribute ? e.getAttribute(DATA_ICON) : null;
return t && a;
}
function hasBeenReplaced(e) {
return e && e.classList && e.classList.contains && e.classList.contains(config.replacementClass);
}
function getMutator() {
if (config.autoReplaceSvg === !0)
return mutators.replace;
var e = mutators[config.autoReplaceSvg];
return e || mutators.replace;
}
function createElementNS(e) {
return DOCUMENT.createElementNS("http://www.w3.org/2000/svg", e);
}
function createElement(e) {
return DOCUMENT.createElement(e);
}
function convertSVG(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.ceFn, n = a === void 0 ? e.tag === "svg" ? createElementNS : createElement : a;
if (typeof e == "string")
return DOCUMENT.createTextNode(e);
var r = n(e.tag);
Object.keys(e.attributes || []).forEach(function(s) {
r.setAttribute(s, e.attributes[s]);
});
var o = e.children || [];
return o.forEach(function(s) {
r.appendChild(convertSVG(s, {
ceFn: n
}));
}), r;
}
function nodeAsComment(e) {
var t = " ".concat(e.outerHTML, " ");
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
}
var mutators = {
replace: function(t) {
var a = t[0];
if (a.parentNode)
if (t[1].forEach(function(r) {
a.parentNode.insertBefore(convertSVG(r), a);
}), a.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {
var n = DOCUMENT.createComment(nodeAsComment(a));
a.parentNode.replaceChild(n, a);
} else
a.remove();
},
nest: function(t) {
var a = t[0], n = t[1];
if (~classArray(a).indexOf(config.replacementClass))
return mutators.replace(t);
var r = new RegExp("".concat(config.cssPrefix, "-.*"));
if (delete n[0].attributes.id, n[0].attributes.class) {
var o = n[0].attributes.class.split(" ").reduce(function(l, f) {
return f === config.replacementClass || f.match(r) ? l.toSvg.push(f) : l.toNode.push(f), l;
}, {
toNode: [],
toSvg: []
});
n[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? a.removeAttribute("class") : a.setAttribute("class", o.toNode.join(" "));
}
var s = n.map(function(l) {
return toHtml(l);
}).join(`
`);
a.setAttribute(DATA_FA_I2SVG, ""), a.innerHTML = s;
}
};
function performOperationSync(e) {
e();
}
function perform(e, t) {
var a = typeof t == "function" ? t : noop$2;
if (e.length === 0)
a();
else {
var n = performOperationSync;
config.mutateApproach === MUTATION_APPROACH_ASYNC && (n = WINDOW.requestAnimationFrame || performOperationSync), n(function() {
var r = getMutator(), o = perf.begin("mutate");
e.map(r), o(), a();
});
}
}
var disabled = !1;
function disableObservation() {
disabled = !0;
}
function enableObservation() {
disabled = !1;
}
var mo = null;
function observe(e) {
if (MUTATION_OBSERVER && config.observeMutations) {
var t = e.treeCallback, a = t === void 0 ? noop$2 : t, n = e.nodeCallback, r = n === void 0 ? noop$2 : n, o = e.pseudoElementsCallback, s = o === void 0 ? noop$2 : o, l = e.observeMutationsRoot, f = l === void 0 ? DOCUMENT : l;
mo = new MUTATION_OBSERVER(function(u) {
if (!disabled) {
var c = getDefaultUsablePrefix();
toArray(u).forEach(function(m) {
if (m.type === "childList" && m.addedNodes.length > 0 && !isWatched(m.addedNodes[0]) && (config.searchPseudoElements && s(m.target), a(m.target)), m.type === "attributes" && m.target.parentNode && config.searchPseudoElements && s(m.target.parentNode), m.type === "attributes" && isWatched(m.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(m.attributeName))
if (m.attributeName === "class" && hasPrefixAndIcon(m.target)) {
var y = getCanonicalIcon(classArray(m.target)), b = y.prefix, _ = y.iconName;
m.target.setAttribute(DATA_PREFIX, b || c), _ && m.target.setAttribute(DATA_ICON, _);
} else
hasBeenReplaced(m.target) && r(m.target);
});
}
}), IS_DOM && mo.observe(f, {
childList: !0,
attributes: !0,
characterData: !0,
subtree: !0
});
}
}
function disconnect() {
mo && mo.disconnect();
}
function styleParser(e) {
var t = e.getAttribute("style"), a = [];
return t && (a = t.split(";").reduce(function(n, r) {
var o = r.split(":"), s = o[0], l = o.slice(1);
return s && l.length > 0 && (n[s] = l.join(":").trim()), n;
}, {})), a;
}
function classParser(e) {
var t = e.getAttribute("data-prefix"), a = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "", r = getCanonicalIcon(classArray(e));
return r.prefix || (r.prefix = getDefaultUsablePrefix()), t && a && (r.prefix = t, r.iconName = a), r.iconName && r.prefix || (r.prefix && n.length > 0 && (r.iconName = byLigature(r.prefix, e.innerText) || byUnicode(r.prefix, toHex(e.innerText))), !r.iconName && config.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (r.iconName = e.firstChild.data)), r;
}
function attributesParser(e) {
var t = toArray(e.attributes).reduce(function(r, o) {
return r.name !== "class" && r.name !== "style" && (r[o.name] = o.value), r;
}, {}), a = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
return config.autoA11y && (a ? t["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(n || nextUniqueId()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
}
function blankMeta() {
return {
iconName: null,
title: null,
titleId: null,
prefix: null,
transform: meaninglessTransform,
symbol: !1,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
extra: {
classes: [],
styles: {},
attributes: {}
}
};
}
function parseMeta(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
styleParser: !0
}, a = classParser(e), n = a.iconName, r = a.prefix, o = a.rest, s = attributesParser(e), l = chainHooks("parseNodeAttributes", {}, e), f = t.styleParser ? styleParser(e) : [];
return _objectSpread2({
iconName: n,
title: e.getAttribute("title"),
titleId: e.getAttribute("data-fa-title-id"),
prefix: r,
transform: meaninglessTransform,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
symbol: !1,
extra: {
classes: o,
styles: f,
attributes: s
}
}, l);
}
var styles$2 = namespace.styles;
function generateMutation(e) {
var t = config.autoReplaceSvg === "nest" ? parseMeta(e, {
styleParser: !1
}) : parseMeta(e);
return ~t.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME) ? callProvided("generateLayersText", e, t) : callProvided("generateSvgReplacementMutation", e, t);
}
var knownPrefixes = /* @__PURE__ */ new Set();
FAMILIES.map(function(e) {
knownPrefixes.add("fa-".concat(e));
});
Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));
Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));
knownPrefixes = _toConsumableArray(knownPrefixes);
function onTree(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
if (!IS_DOM)
return Promise.resolve();
var a = DOCUMENT.documentElement.classList, n = function(m) {
return a.add("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(m));
}, r = function(m) {
return a.remove("".concat(HTML_CLASS_I2SVG_BASE_CLASS, "-").concat(m));
}, o = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function(c) {
return "fa-".concat(c);
}).concat(Object.keys(styles$2));
o.includes("fa") || o.push("fa");
var s = [".".concat(LAYERS_TEXT_CLASSNAME, ":not([").concat(DATA_FA_I2SVG, "])")].concat(o.map(function(c) {
return ".".concat(c, ":not([").concat(DATA_FA_I2SVG, "])");
})).join(", ");
if (s.length === 0)
return Promise.resolve();
var l = [];
try {
l = toArray(e.querySelectorAll(s));
} catch {
}
if (l.length > 0)
n("pending"), r("complete");
else
return Promise.resolve();
var f = perf.begin("onTree"), u = l.reduce(function(c, m) {
try {
var y = generateMutation(m);
y && c.push(y);
} catch (b) {
PRODUCTION || b.name === "MissingIcon" && console.error(b);
}
return c;
}, []);
return new Promise(function(c, m) {
Promise.all(u).then(function(y) {
perform(y, function() {
n("active"), n("complete"), r("pending"), typeof t == "function" && t(), f(), c();
});
}).catch(function(y) {
f(), m(y);
});
});
}
function onNode(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
generateMutation(e).then(function(a) {
a && perform([a], t);
});
}
function resolveIcons(e) {
return function(t) {
var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = (t || {}).icon ? t : findIconDefinition(t || {}), r = a.mask;
return r && (r = (r || {}).icon ? r : findIconDefinition(r || {})), e(n, _objectSpread2(_objectSpread2({}, a), {}, {
mask: r
}));
};
}
var render = function(t) {
var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = a.transform, r = n === void 0 ? meaninglessTransform : n, o = a.symbol, s = o === void 0 ? !1 : o, l = a.mask, f = l === void 0 ? null : l, u = a.maskId, c = u === void 0 ? null : u, m = a.title, y = m === void 0 ? null : m, b = a.titleId, _ = b === void 0 ? null : b, A = a.classes, E = A === void 0 ? [] : A, v = a.attributes, h = v === void 0 ? {} : v, I = a.styles, T = I === void 0 ? {} : I;
if (t) {
var x = t.prefix, k = t.iconName, L = t.icon;
return domVariants(_objectSpread2({
type: "icon"
}, t), function() {
return callHooks("beforeDOMElementCreation", {
iconDefinition: t,
params: a
}), config.autoA11y && (y ? h["aria-labelledby"] = "".concat(config.replacementClass, "-title-").concat(_ || nextUniqueId()) : (h["aria-hidden"] = "true", h.focusable = "false")), makeInlineSvgAbstract({
icons: {
main: asFoundIcon(L),
mask: f ? asFoundIcon(f.icon) : {
found: !1,
width: null,
height: null,
icon: {}
}
},
prefix: x,
iconName: k,
transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), r),
symbol: s,
title: y,
maskId: c,
titleId: _,
extra: {
attributes: h,
styles: T,
classes: E
}
});
});
}
}, ReplaceElements = {
mixout: function() {
return {
icon: resolveIcons(render)
};
},
hooks: function() {
return {
mutationObserverCallbacks: function(a) {
return a.treeCallback = onTree, a.nodeCallback = onNode, a;
}
};
},
provides: function(t) {
t.i2svg = function(a) {
var n = a.node, r = n === void 0 ? DOCUMENT : n, o = a.callback, s = o === void 0 ? function() {
} : o;
return onTree(r, s);
}, t.generateSvgReplacementMutation = function(a, n) {
var r = n.iconName, o = n.title, s = n.titleId, l = n.prefix, f = n.transform, u = n.symbol, c = n.mask, m = n.maskId, y = n.extra;
return new Promise(function(b, _) {
Promise.all([findIcon(r, l), c.iconName ? findIcon(c.iconName, c.prefix) : Promise.resolve({
found: !1,
width: 512,
height: 512,
icon: {}
})]).then(function(A) {
var E = _slicedToArray(A, 2), v = E[0], h = E[1];
b([a, makeInlineSvgAbstract({
icons: {
main: v,
mask: h
},
prefix: l,
iconName: r,
transform: f,
symbol: u,
maskId: m,
title: o,
titleId: s,
extra: y,
watchable: !0
})]);
}).catch(_);
});
}, t.generateAbstractIcon = function(a) {
var n = a.children, r = a.attributes, o = a.main, s = a.transform, l = a.styles, f = joinStyles(l);
f.length > 0 && (r.style = f);
var u;
return transformIsMeaningful(s) && (u = callProvided("generateAbstractTransformGrouping", {
main: o,
transform: s,
containerWidth: o.width,
iconWidth: o.width
})), n.push(u || o.icon), {
children: n,
attributes: r
};
};
}
}, Layers = {
mixout: function() {
return {
layer: function(a) {
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.classes, o = r === void 0 ? [] : r;
return domVariants({
type: "layer"
}, function() {
callHooks("beforeDOMElementCreation", {
assembler: a,
params: n
});
var s = [];
return a(function(l) {
Array.isArray(l) ? l.map(function(f) {
s = s.concat(f.abstract);
}) : s = s.concat(l.abstract);
}), [{
tag: "span",
attributes: {
class: ["".concat(config.cssPrefix, "-layers")].concat(_toConsumableArray(o)).join(" ")
},
children: s
}];
});
}
};
}
}, LayersCounter = {
mixout: function() {
return {
counter: function(a) {
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.title, o = r === void 0 ? null : r, s = n.classes, l = s === void 0 ? [] : s, f = n.attributes, u = f === void 0 ? {} : f, c = n.styles, m = c === void 0 ? {} : c;
return domVariants({
type: "counter",
content: a
}, function() {
return callHooks("beforeDOMElementCreation", {
content: a,
params: n
}), makeLayersCounterAbstract({
content: a.toString(),
title: o,
extra: {
attributes: u,
styles: m,
classes: ["".concat(config.cssPrefix, "-layers-counter")].concat(_toConsumableArray(l))
}
});
});
}
};
}
}, LayersText = {
mixout: function() {
return {
text: function(a) {
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = n.transform, o = r === void 0 ? meaninglessTransform : r, s = n.title, l = s === void 0 ? null : s, f = n.classes, u = f === void 0 ? [] : f, c = n.attributes, m = c === void 0 ? {} : c, y = n.styles, b = y === void 0 ? {} : y;
return domVariants({
type: "text",
content: a
}, function() {
return callHooks("beforeDOMElementCreation", {
content: a,
params: n
}), makeLayersTextAbstract({
content: a,
transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), o),
title: l,
extra: {
attributes: m,
styles: b,
classes: ["".concat(config.cssPrefix, "-layers-text")].concat(_toConsumableArray(u))
}
});
});
}
};
},
provides: function(t) {
t.generateLayersText = function(a, n) {
var r = n.title, o = n.transform, s = n.extra, l = null, f = null;
if (IS_IE) {
var u = parseInt(getComputedStyle(a).fontSize, 10), c = a.getBoundingClientRect();
l = c.width / u, f = c.height / u;
}
return config.autoA11y && !r && (s.attributes["aria-hidden"] = "true"), Promise.resolve([a, makeLayersTextAbstract({
content: a.innerHTML,
width: l,
height: f,
transform: o,
title: r,
extra: s,
watchable: !0
})]);
};
}
}, CLEAN_CONTENT_PATTERN = new RegExp('"', "ug"), SECONDARY_UNICODE_RANGE = [1105920, 1112319];
function hexValueFromContent(e) {
var t = e.replace(CLEAN_CONTENT_PATTERN, ""), a = codePointAt(t, 0), n = a >= SECONDARY_UNICODE_RANGE[0] && a <= SECONDARY_UNICODE_RANGE[1], r = t.length === 2 ? t[0] === t[1] : !1;
return {
value: toHex(r ? t[0] : t),
isSecondary: n || r
};
}
function replaceForPosition(e, t) {
var a = "".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(t.replace(":", "-"));
return new Promise(function(n, r) {
if (e.getAttribute(a) !== null)
return n();
var o = toArray(e.children), s = o.filter(function(L) {
return L.getAttribute(DATA_FA_PSEUDO_ELEMENT) === t;
})[0], l = WINDOW.getComputedStyle(e, t), f = l.getPropertyValue("font-family").match(FONT_FAMILY_PATTERN), u = l.getPropertyValue("font-weight"), c = l.getPropertyValue("content");
if (s && !f)
return e.removeChild(s), n();
if (f && c !== "none" && c !== "") {
var m = l.getPropertyValue("content"), y = ~["Sharp"].indexOf(f[2]) ? FAMILY_SHARP : FAMILY_CLASSIC, b = ~["Solid", "Regular", "Light", "Thin", "Duotone", "Brands", "Kit"].indexOf(f[2]) ? STYLE_TO_PREFIX[y][f[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[y][u], _ = hexValueFromContent(m), A = _.value, E = _.isSecondary, v = f[0].startsWith("FontAwesome"), h = byUnicode(b, A), I = h;
if (v) {
var T = byOldUnicode(A);
T.iconName && T.prefix && (h = T.iconName, b = T.prefix);
}
if (h && !E && (!s || s.getAttribute(DATA_PREFIX) !== b || s.getAttribute(DATA_ICON) !== I)) {
e.setAttribute(a, I), s && e.removeChild(s);
var x = blankMeta(), k = x.extra;
k.attributes[DATA_FA_PSEUDO_ELEMENT] = t, findIcon(h, b).then(function(L) {
var N = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, x), {}, {
icons: {
main: L,
mask: emptyCanonicalIcon()
},
prefix: b,
iconName: I,
extra: k,
watchable: !0
})), g = DOCUMENT.createElementNS("http://www.w3.org/2000/svg", "svg");
t === "::before" ? e.insertBefore(g, e.firstChild) : e.appendChild(g), g.outerHTML = N.map(function(S) {
return toHtml(S);
}).join(`
`), e.removeAttribute(a), n();
}).catch(r);
} else
n();
} else
n();
});
}
function replace(e) {
return Promise.all([replaceForPosition(e, "::before"), replaceForPosition(e, "::after")]);
}
function processable(e) {
return e.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!e.parentNode || e.parentNode.tagName !== "svg");
}
function searchPseudoElements(e) {
if (IS_DOM)
return new Promise(function(t, a) {
var n = toArray(e.querySelectorAll("*")).filter(processable).map(replace), r = perf.begin("searchPseudoElements");
disableObservation(), Promise.all(n).then(function() {
r(), enableObservation(), t();
}).catch(function() {
r(), enableObservation(), a();
});
});
}
var PseudoElements = {
hooks: function() {
return {
mutationObserverCallbacks: function(a) {
return a.pseudoElementsCallback = searchPseudoElements, a;
}
};
},
provides: function(t) {
t.pseudoElements2svg = function(a) {
var n = a.node, r = n === void 0 ? DOCUMENT : n;
config.searchPseudoElements && searchPseudoElements(r);
};
}
}, _unwatched = !1, MutationObserver$1 = {
mixout: function() {
return {
dom: {
unwatch: function() {
disableObservation(), _unwatched = !0;
}
}
};
},
hooks: function() {
return {
bootstrap: function() {
observe(chainHooks("mutationObserverCallbacks", {}));
},
noAuto: function() {
disconnect();
},
watch: function(a) {
var n = a.observeMutationsRoot;
_unwatched ? enableObservation() : observe(chainHooks("mutationObserverCallbacks", {
observeMutationsRoot: n
}));
}
};
}
}, parseTransformString = function(t) {
var a = {
size: 16,
x: 0,
y: 0,
flipX: !1,
flipY: !1,
rotate: 0
};
return t.toLowerCase().split(" ").reduce(function(n, r) {
var o = r.toLowerCase().split("-"), s = o[0], l = o.slice(1).join("-");
if (s && l === "h")
return n.flipX = !0, n;
if (s && l === "v")
return n.flipY = !0, n;
if (l = parseFloat(l), isNaN(l))
return n;
switch (s) {
case "grow":
n.size = n.size + l;
break;
case "shrink":
n.size = n.size - l;
break;
case "left":
n.x = n.x - l;
break;
case "right":
n.x = n.x + l;
break;
case "up":
n.y = n.y - l;
break;
case "down":
n.y = n.y + l;
break;
case "rotate":
n.rotate = n.rotate + l;
break;
}
return n;
}, a);
}, PowerTransforms = {
mixout: function() {
return {
parse: {
transform: function(a) {
return parseTransformString(a);
}
}
};
},
hooks: function() {
return {
parseNodeAttributes: function(a, n) {
var r = n.getAttribute("data-fa-transform");
return r && (a.transform = parseTransformString(r)), a;
}
};
},
provides: function(t) {
t.generateAbstractTransformGrouping = function(a) {
var n = a.main, r = a.transform, o = a.containerWidth, s = a.iconWidth, l = {
transform: "translate(".concat(o / 2, " 256)")
}, f = "translate(".concat(r.x * 32, ", ").concat(r.y * 32, ") "), u = "scale(".concat(r.size / 16 * (r.flipX ? -1 : 1), ", ").concat(r.size / 16 * (r.flipY ? -1 : 1), ") "), c = "rotate(".concat(r.rotate, " 0 0)"), m = {
transform: "".concat(f, " ").concat(u, " ").concat(c)
}, y = {
transform: "translate(".concat(s / 2 * -1, " -256)")
}, b = {
outer: l,
inner: m,
path: y
};
return {
tag: "g",
attributes: _objectSpread2({}, b.outer),
children: [{
tag: "g",
attributes: _objectSpread2({}, b.inner),
children: [{
tag: n.icon.tag,
children: n.icon.children,
attributes: _objectSpread2(_objectSpread2({}, n.icon.attributes), b.path)
}]
}]
};
};
}
}, ALL_SPACE = {
x: 0,
y: 0,
width: "100%",
height: "100%"
};
function fillBlack(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
}
function deGroup(e) {
return e.tag === "g" ? e.children : [e];
}
var Masks = {
hooks: function() {
return {
parseNodeAttributes: function(a, n) {
var r = n.getAttribute("data-fa-mask"), o = r ? getCanonicalIcon(r.split(" ").map(function(s) {
return s.trim();
})) : emptyCanonicalIcon();
return o.prefix || (o.prefix = getDefaultUsablePrefix()), a.mask = o, a.maskId = n.getAttribute("data-fa-mask-id"), a;
}
};
},
provides: function(t) {
t.generateAbstractMask = function(a) {
var n = a.children, r = a.attributes, o = a.main, s = a.mask, l = a.maskId, f = a.transform, u = o.width, c = o.icon, m = s.width, y = s.icon, b = transformForSvg({
transform: f,
containerWidth: m,
iconWidth: u
}), _ = {
tag: "rect",
attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
fill: "white"
})
}, A = c.children ? {
children: c.children.map(fillBlack)
} : {}, E = {
tag: "g",
attributes: _objectSpread2({}, b.inner),
children: [fillBlack(_objectSpread2({
tag: c.tag,
attributes: _objectSpread2(_objectSpread2({}, c.attributes), b.path)
}, A))]
}, v = {
tag: "g",
attributes: _objectSpread2({}, b.outer),
children: [E]
}, h = "mask-".concat(l || nextUniqueId()), I = "clip-".concat(l || nextUniqueId()), T = {
tag: "mask",
attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {
id: h,
maskUnits: "userSpaceOnUse",
maskContentUnits: "userSpaceOnUse"
}),
children: [_, v]
}, x = {
tag: "defs",
children: [{
tag: "clipPath",
attributes: {
id: I
},
children: deGroup(y)
}, T]
};
return n.push(x, {
tag: "rect",
attributes: _objectSpread2({
fill: "currentColor",
"clip-path": "url(#".concat(I, ")"),
mask: "url(#".concat(h, ")")
}, ALL_SPACE)
}), {
children: n,
attributes: r
};
};
}
}, MissingIconIndicator = {
provides: function(t) {
var a = !1;
WINDOW.matchMedia && (a = WINDOW.matchMedia("(prefers-reduced-motion: reduce)").matches), t.missingIconAbstract = function() {
var n = [], r = {
fill: "currentColor"
}, o = {
attributeType: "XML",
repeatCount: "indefinite",
dur: "2s"
};
n.push({
tag: "path",
attributes: _objectSpread2(_objectSpread2({}, r), {}, {
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"
})
});
var s = _objectSpread2(_objectSpread2({}, o), {}, {
attributeName: "opacity"
}), l = {
tag: "circle",
attributes: _objectSpread2(_objectSpread2({}, r), {}, {
cx: "256",
cy: "364",
r: "28"
}),
children: []
};
return a || l.children.push({
tag: "animate",
attributes: _objectSpread2(_objectSpread2({}, o), {}, {
attributeName: "r",
values: "28;14;28;28;14;28;"
})
}, {
tag: "animate",
attributes: _objectSpread2(_objectSpread2({}, s), {}, {
values: "1;0;1;1;0;1;"
})
}), n.push(l), n.push({
tag: "path",
attributes: _objectSpread2(_objectSpread2({}, r), {}, {
opacity: "1",
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"
}),
children: a ? [] : [{
tag: "animate",
attributes: _objectSpread2(_objectSpread2({}, s), {}, {
values: "1;0;0;0;0;1;"
})
}]
}), a || n.push({
tag: "path",
attributes: _objectSpread2(_objectSpread2({}, r), {}, {
opacity: "0",
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"
}),
children: [{
tag: "animate",
attributes: _objectSpread2(_objectSpread2({}, s), {}, {
values: "0;0;1;1;0;0;"
})
}]
}), {
tag: "g",
attributes: {
class: "missing"
},
children: n
};
};
}
}, SvgSymbols = {
hooks: function() {
return {
parseNodeAttributes: function(a, n) {
var r = n.getAttribute("data-fa-symbol"), o = r === null ? !1 : r === "" ? !0 : r;
return a.symbol = o, a;
}
};
}
}, plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];
registerPlugins(plugins, {
mixoutsTo: api
});
api.noAuto;
api.config;
api.library;
api.dom;
api.parse;
api.findIconDefinition;
api.toHtml;
var icon = api.icon;
api.layer;
api.text;
api.counter;
var faCircleNotch = {};
(function(e) {
Object.defineProperty(e, "__esModule", { value: !0 });
var t = "fas", a = "circle-notch", n = 512, r = 512, o = [], s = "f1ce", l = "M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z";
e.definition = {
prefix: t,
iconName: a,
icon: [
n,
r,
o,
s,
l
]
}, e.faCircleNotch = e.definition, e.prefix = t, e.iconName = a, e.width = n, e.height = r, e.ligatures = o, e.unicode = s, e.svgPathData = l, e.aliases = o;
})(faCircleNotch);
function useFormBlocker() {
let e = [], t = [];
return {
blockForm: (r) => {
const o = [], s = [], l = [];
for (var f = 0; f < r.length; f++)
switch (r[f].localName) {
case "button":
r[f].disabled !== !0 && (o.push(r[f]), s.push(r[f]));
break;
case "input":
case "select":
case "textarea":
case "datalist":
r[f].disabled !== !0 && o.push(r[f]);
break;
}
o.forEach((u) => {
u.disabled = !0;
}), s.forEach((u) => {
if (u.type === "submit") {
const c = uniqID("spin"), m = icon(faCircleNotch.faCircleNotch, {
classes: ["fa-spin me-1"]
}).html;
u.innerHTML = '' + m + "" + u.innerHTML, l.push(c);
}
}), e = o, t = l;
},
unblockForm: () => {
e.forEach((r) => {
r.disabled = !1;
}), e = [], t.forEach((r) => {
document.getElementById(r).remove();
}), t = [];
},
formElements: e
};
}
function useAlertLib() {
let e = "alert-danger", t = "", a, n = !1;
const r = (v) => {
a = v;
}, o = (v) => {
e = v;
}, s = (v) => {
t = v;
};
return {
setElement: r,
dangerAlert: (v) => {
s(v), o("alert-danger");
},
warningAlert: (v) => {
s(v), o("alert-warning");
},
infoAlert: (v) => {
s(v), o("alert-info");
},
successAlert: (v) => {
s(v), o("alert-success");
},
lightAlert: (v) => {
s(v), o("alert-light");
},
darkAlert: (v) => {
s(v), o("alert-dark");
},
hideAlert: () => {
a.innerHTML = "";
},
showAlert: () => {
const v = document.createElement("div");
v.classList.add("alert", "alert-dismissible", "fade", "show", e), v.setAttribute("role", "alert");
const h = document.createElement("button");
n === !0 ? (h.setAttribute("data-dismiss", "alert"), h.classList.add("close"), h.innerHTML = '×') : (h.setAttribute("data-bs-dismiss", "alert"), h.classList.add("btn-close")), h.setAttribute("type", "button");
const I = document.createTextNode(t);
v.append(I, h), a.appendChild(v);
},
scrollToAlert: () => {
a.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });
},
boostrap4: () => {
n = !0;
}
};
}
function useFormLib(e) {
let t = e.getAttribute("action"), a = new FormData(e), n = null, r = "POST";
const { http_post: o, setHeaders: s, http_delete: l } = useHttpRequestLib(), { blockForm: f, unblockForm: u } = useFormBlocker(), c = useAlertLib();
return {
setFormHeaders: (k) => {
n = k;
},
setErrorContainer: (k) => {
c.setElement(k);
},
setFormURL: (k) => {
t = k;
},
getFormURL: () => t,
addFormItem: (k, L) => {
a.append(k, L);
},
getFormData: () => a,
submit: async (k, L) => {
c.hideAlert(), f(e), n !== null && s(n);
let N = {};
r === "POST" ? N = await o(t, a) : N = await l(t), N.status === "success" ? typeof k == "function" && k(N) : (typeof L < "u" ? c.dangerAlert(L(N.message)) : c.dangerAlert(N.message), c.showAlert(), c.scrollToAlert(), u(), typeof window.captchaRefresh == "function" && window.captchaRefresh());
},
formUnblock: () => {
u();
},
formBlock: () => {
f(e);
},
setDeleteMethod: () => {
r = "DELETE";
},
setPostMethod: () => {
r = "POST";
},
alertForm: c
};
}
function useValidatorsLib() {
const e = (g, S) => g.length >= parseInt(S), t = (g, S) => g.length <= parseInt(S), a = (g, S) => g.length === parseInt(S), n = (g, S) => v(g) ? parseFloat(g) > parseFloat(S) : !1, r = (g, S) => v(g) ? parseFloat(g) >= parseFloat(S) : !1, o = (g, S) => v(g) ? parseFloat(g) < parseFloat(S) : !1, s = (g, S) => v(g) ? parseFloat(g) <= parseFloat(S) : !1, l = (g, S) => {
const C = S.split(",");
for (var P = 0; P < C.length; P++)
if (C[P] === g)
return !0;
return !1;
}, f = (g, S) => g.match(S), u = (g) => f(g, /^[a-zA-Z]*$/), c = (g) => f(g, /^[a-zA-Z/\s]*$/), m = (g) => f(g, /^[a-zA-Z0-9]*$/), y = (g) => f(g, /^[a-zA-Z0-9/\s]*$/), b = (g) => f(g, /^[a-zA-Z0-9-_]*$/), _ = (g) => f(g, /^(?=.*[a-zA-Z])(?=.*[0-9])/), A = (g) => f(g, /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])/), E = (g) => f(g, /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~])/), v = (g) => !isNaN(g), h = (g) => v(g) ? parseInt(g) === parseFloat(g) : !1;
return {
regex_match: f,
min_length: e,
max_length: t,
exact_length: a,
greater_than: n,
greater_than_equal_to: r,
less_than: o,
less_than_equal_to: s,
in_list: l,
alpha: u,
alpha_spaces: c,
alpha_numeric: m,
alpha_numeric_spaces: y,
alpha_dash: b,
alpha_and_numeric: _,
alpha_with_upper_and_numeric: A,
alpha_with_upper_numeric_special: E,
numeric: v,
integer: h,
decimal: (g) => v(g) ? !h(g) : !1,
is_natural: (g) => h(g) ? parseInt(g) >= 0 : !1,
is_natural_no_zero: (g) => h(g) ? parseInt(g) > 0 : !1,
valid_email: (g) => /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,20})+$/.test(g),
valid_url: (g) => {
try {
let S = new URL(g);
return !0;
} catch {
return !1;
}
},
valid_ip: (g) => f(g, /((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/)
};
}
function useFormValidationLib(element) {
const formTarget = element;
let errorList = {}, rules = {};
const validators = useValidatorsLib(), setFormRules = (e) => {
rules = e;
}, validateForm = () => {
if (errorList = {}, resetValidation(), Object.keys(rules).length === 0)
return !0;
for (var e = 0; e < formTarget.length; e++)
validateInput(formTarget[e].name, formTarget) && formTarget[e].classList.remove("is-invalid");
return Object.keys(errorList).length === 0;
}, showValidationErrors = () => {
Object.keys(errorList).map((e) => {
if (formTarget[e].classList !== void 0) {
formTarget[e].classList.add("is-invalid");
const t = document.createElement("div");
t.classList.add("invalid-feedback", "form-validation-feedback"), t.innerHTML = errorList[e], formTarget[e].parentElement.append(t);
} else {
formTarget[e].forEach((n) => {
n.classList.add("is-invalid");
});
const t = formTarget[e][formTarget[e].length - 1];
t.classList.add("is-invalid");
const a = document.createElement("div");
a.classList.add("invalid-feedback", "form-validation-feedback"), a.innerHTML = errorList[e], t.parentElement.append(a);
}
});
}, resetValidation = () => {
Object.keys(errorList).map((e) => {
formTarget[e].classList.remove("is-invalid");
}), document.querySelectorAll(".form-validation-feedback").forEach((e) => {
e.remove();
});
}, getFormErrors = () => errorList, validateInput = (field_name, formElement) => {
const item = rules.find((e) => e.field_name === field_name);
if (typeof item > "u")
return !0;
const element = formElement[field_name];
let validRegex = "";
const splitted = item.rules.split("|");
for (var i = 0; i < splitted.length; i++) {
let propertyName = splitted[i], propertyValue = 0;
if (validRegex = /^[a-zA-Z0-9-_]+\[+(.*)+\]*$/, propertyName.match(validRegex)) {
const e = propertyName.split(/\[(.*)\]/);
propertyName = e[0], propertyValue = e[1];
}
if (propertyName === "matches") {
const e = formElement[propertyValue];
if (typeof e > "u")
return errorList[field_name] = item.errors[propertyName], !1;
if (e.value !== element.value)
return errorList[field_name] = item.errors[propertyName], !1;
}
if (propertyName === "required") {
if (element.type === "checkbox") {
if (!element.checked)
return errorList[field_name] = item.errors[propertyName], !1;
} else if (element.value === "")
return errorList[field_name] = item.errors[propertyName], !1;
}
if (element.value === "")
return !0;
if (propertyName === "regex_match") {
if (!element.value.match(eval(propertyValue)))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "differs") {
const e = formElement[propertyValue];
if (typeof e < "u" && e.value === element.value)
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "min_length") {
if (!validators.min_length(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "max_length") {
if (!validators.max_length(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "exact_length") {
if (!validators.exact_length(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "greater_than") {
if (!validators.greater_than(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "greater_than_equal_to") {
if (!validators.greater_than_equal_to(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "less_than") {
if (!validators.less_than(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "less_than_equal_to") {
if (!validators.less_than_equal_to(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "in_list") {
if (!validators.in_list(element.value, propertyValue))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha") {
if (!validators.alpha(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_spaces") {
if (!validators.alpha_spaces(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_numeric") {
if (!validators.alpha_numeric(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_numeric_spaces") {
if (!validators.alpha_numeric_spaces(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_dash") {
if (!validators.alpha_dash(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_and_numeric") {
if (!validators.alpha_and_numeric(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_with_upper_and_numeric") {
if (!validators.alpha_with_upper_and_numeric(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "alpha_with_upper_numeric_special") {
if (!validators.alpha_with_upper_numeric_special(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "numeric") {
if (!validators.numeric(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "integer") {
if (!validators.integer(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "decimal") {
if (!validators.decimal(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "is_natural") {
if (!validators.is_natural(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "is_natural_no_zero") {
if (!validators.is_natural_no_zero(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "valid_email") {
if (!validators.valid_email(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "valid_url") {
if (!validators.valid_url(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "valid_ip") {
if (!validators.valid_ip(element.value))
return errorList[field_name] = item.errors[propertyName], !1;
} else if (propertyName === "if_requires") {
const e = formElement[propertyValue];
if (typeof e > "u")
return errorList[propertyValue] = item.errors[propertyName], !1;
if (e.value === "")
return errorList[propertyValue] = item.errors[propertyName], !1;
} else if (propertyName === "if_use_requires") {
const e = propertyValue.split(",");
if (element.value === e[0]) {
const t = formElement[e[1]];
if (typeof t > "u")
return errorList[e[1]] = item.errors[propertyName], !1;
if (t.value === "")
return errorList[e[1]] = item.errors[propertyName], !1;
}
}
}
return !0;
};
return {
setFormRules,
validateForm,
showValidationErrors,
resetValidation,
getFormErrors
};
}
function evolutionForm(e, t, a) {
let n = a, r = "POST";
const o = useFormLib(e);
o.setErrorContainer(t), myToken.bootstrap4() && o.alertForm.boostrap4();
const s = useFormValidationLib(e), { http_post: l, setHeaders: f, http_delete: u } = useHttpRequestLib();
return {
setRules: (A) => {
s.setFormRules(A);
},
myFormConfig: () => o,
setDeleteMethod: () => {
r = "DELETE";
},
setPostMethod: () => {
r = "POST";
},
run: async (A) => {
if (o.alertForm.hideAlert(), !s.validateForm()) {
s.showValidationErrors(), o.alertForm.dangerAlert(n("error_in_form")), o.alertForm.showAlert(), o.alertForm.scrollToAlert();
return;
}
o.formBlock();
const E = await myToken.getPublicAccessToken();
f({ Authentication: `Bearer ${E}` });
let v = {};
r === "POST" ? v = await l(o.getFormURL(), o.getFormData()) : v = await u(o.getFormURL()), v.status === "success" ? typeof A == "function" && A(v) : (n(v.message) === void 0 ? o.alertForm.dangerAlert(v.message) : o.alertForm.dangerAlert(n(v.message)), v.type === "token" && myToken.removeToken(), o.alertForm.showAlert(), o.alertForm.scrollToAlert(), o.formUnblock(), typeof window.captchaRefresh == "function" && window.captchaRefresh());
}
};
}
function useToken() {
const { http_get: e } = useHttpRequestLib();
let t = "", a = "access_token", n = "user_lang", r = "/api/access_token", o = !1;
const s = () => {
a = "admin_token", r = "/api/admin/access_token", n = "admin_lang", o = !0;
}, l = () => o, f = async () => (t === "" && (t = A(a)), t !== "" && y(t) ? t : await m()), u = () => {
t = "", E(a, t, -365);
}, c = (v) => {
t = v, E(a, t, 1);
}, m = async () => {
const v = await e(r);
return v.status !== "success" ? null : (t = v.token, E(a, t, 1), t);
}, y = (v) => {
try {
const h = JSON.parse(atob(v.split(".")[1]));
return h === null ? !1 : h.exp * 1e3 >= Date.now();
} catch {
return !1;
}
}, b = () => A(n), _ = (v) => {
E(n, v, 365);
}, A = (v) => {
let h = v + "=", T = decodeURIComponent(document.cookie).split(";");
for (let x = 0; x < T.length; x++) {
let k = T[x];
for (; k.charAt(0) == " "; )
k = k.substring(1);
if (k.indexOf(h) == 0)
return k.substring(h.length, k.length);
}
return "";
};
function E(v, h, I) {
const T = /* @__PURE__ */ new Date();
T.setTime(T.getTime() + I * 24 * 60 * 60 * 1e3);
let x = "expires=" + T.toUTCString();
document.cookie = v + "=" + h + ";" + x + ";path=/";
}
return {
isAdmin: s,
getPublicAccessToken: f,
setPublicAccessToken: c,
bootstrap4: l,
getLanguageCookie: b,
setLanguageCookie: _,
removeToken: u
};
}
const myToken = useToken();
function evolutionLib() {
let e = {};
const t = (b, _) => {
if (!b)
return !1;
b.addEventListener("submit", (A) => {
A.preventDefault(), typeof _ == "function" && _();
});
}, a = () => {
myToken.isAdmin();
}, n = async (b, _) => {
if (await s() === null) {
console.log("Language data could not load.");
return;
}
t(b, () => {
typeof _ == "function" && _();
});
}, r = async (b, _) => evolutionForm(b, _, o), o = (b, _, A) => {
const E = e[b];
return _ !== void 0 ? E.replace(_, A) : E;
}, s = async (b = !1) => {
if (b !== !0 && Object.keys(e).length > 0)
return e;
const { http_get: _ } = useHttpRequestLib(), A = myToken.getLanguageCookie();
let E = "";
isNaN(A) || (E = "?id=" + A);
const v = await _("/api/lang" + E);
return v.status === "success" ? (e = v.data, e) : null;
};
return {
isAdmin: a,
useHandleForm: t,
useScriptFormHandler: n,
useScriptForm: r,
langData: e,
langItem: o,
useForm: (b) => useFormLib(b),
useBlockForm: () => useFormBlocker(),
useFormValidation: (b) => useFormValidationLib(b),
useValidators: () => useValidatorsLib(),
useHttpRequest: () => useHttpRequestLib(),
useToken: () => myToken
};
}
window.evolutionLib = evolutionLib;
export {
evolutionLib,
myToken
};