From: Tim Düsterhus Date: Wed, 23 Aug 2023 13:21:40 +0000 (+0200) Subject: Minify WebComponent.js when building with esbuild X-Git-Tag: 6.0.0_Beta_4~57^2~3^2 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a82f7749962f169916e5c1322880ad5f8caa3d1f;p=GitHub%2FWoltLab%2FWCF.git Minify WebComponent.js when building with esbuild This bundle is expected to rarely change in the future and not require much debugging. Only store the minified version and do not provide source maps to keep the repository slim. --- diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index 53b2a50d97..39c65add37 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -61,7 +61,7 @@ jobs: - run: rm -r wcfsetup/install/files/js/WoltLabSuite/ - run: | npx tsc - npx esbuild ts/WoltLabSuite/WebComponent/index.ts --bundle --outfile=wcfsetup/install/files/js/WoltLabSuite/WebComponent.js + npx esbuild ts/WoltLabSuite/WebComponent/index.ts --minify --bundle --outfile=wcfsetup/install/files/js/WoltLabSuite/WebComponent.js - run: echo "::add-matcher::.github/diff.json" - name: Show diff run: | diff --git a/package.json b/package.json index d5368c462f..bb72b4213d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@woltlab/wcf", "scripts": { - "bundle-web-components": "npx esbuild ts/WoltLabSuite/WebComponent/index.ts --bundle --watch --outfile=wcfsetup/install/files/js/WoltLabSuite/WebComponent.js" + "bundle-web-components": "npx esbuild ts/WoltLabSuite/WebComponent/index.ts --minify --bundle --watch --outfile=wcfsetup/install/files/js/WoltLabSuite/WebComponent.js" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^6.2.1", diff --git a/wcfsetup/install/files/js/WoltLabSuite/WebComponent.js b/wcfsetup/install/files/js/WoltLabSuite/WebComponent.js index 1909e0990e..7179f13590 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/WebComponent.js +++ b/wcfsetup/install/files/js/WoltLabSuite/WebComponent.js @@ -1,1154 +1,24 @@ -"use strict"; -(() => { - var __create = Object.create; - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __getProtoOf = Object.getPrototypeOf; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { - get: (a, b) => (typeof require !== "undefined" ? require : a)[b] - }) : x)(function(x) { - if (typeof require !== "undefined") - return require.apply(this, arguments); - throw Error('Dynamic require of "' + x + '" is not supported'); - }); - var __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); - }; - var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - - // ts/WoltLabSuite/WebComponent/Template.grammar.js - var require_Template_grammar = __commonJS({ - "ts/WoltLabSuite/WebComponent/Template.grammar.js"(exports, module) { - "use strict"; - var Template2 = function() { - var o = function(k, v, o2, l) { - for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) - ; - return o2; - }, $V0 = [2, 44], $V1 = [5, 9, 11, 12, 13, 18, 19, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33, 34, 35, 37, 39, 41], $V2 = [1, 25], $V3 = [1, 27], $V4 = [1, 33], $V5 = [1, 31], $V6 = [1, 32], $V7 = [1, 28], $V8 = [1, 29], $V9 = [1, 26], $Va = [1, 35], $Vb = [1, 41], $Vc = [1, 40], $Vd = [11, 12, 15, 42, 43, 47, 49, 51, 52, 54, 55], $Ve = [9, 11, 12, 13, 18, 19, 21, 23, 26, 28, 30, 32, 33, 34, 35, 37, 39], $Vf = [11, 12, 15, 42, 43, 46, 47, 48, 49, 51, 52, 54, 55], $Vg = [1, 64], $Vh = [1, 65], $Vi = [18, 37, 39], $Vj = [12, 15]; - var parser2 = { - trace: function trace() { - }, - yy: {}, - symbols_: { "error": 2, "TEMPLATE": 3, "CHUNK_STAR": 4, "EOF": 5, "CHUNK_STAR_repetition0": 6, "CHUNK": 7, "PLAIN_ANY": 8, "T_LITERAL": 9, "COMMAND": 10, "T_ANY": 11, "T_WS": 12, "{if": 13, "COMMAND_PARAMETERS": 14, "}": 15, "COMMAND_repetition0": 16, "COMMAND_option0": 17, "{/if}": 18, "{include": 19, "COMMAND_PARAMETER_LIST": 20, "{implode": 21, "{/implode}": 22, "{foreach": 23, "COMMAND_option1": 24, "{/foreach}": 25, "{plural": 26, "PLURAL_PARAMETER_LIST": 27, "{lang}": 28, "{/lang}": 29, "{": 30, "VARIABLE": 31, "{#": 32, "{@": 33, "{ldelim}": 34, "{rdelim}": 35, "ELSE": 36, "{else}": 37, "ELSE_IF": 38, "{elseif": 39, "FOREACH_ELSE": 40, "{foreachelse}": 41, "T_VARIABLE": 42, "T_VARIABLE_NAME": 43, "VARIABLE_repetition0": 44, "VARIABLE_SUFFIX": 45, "[": 46, "]": 47, ".": 48, "(": 49, "VARIABLE_SUFFIX_option0": 50, ")": 51, "=": 52, "COMMAND_PARAMETER_VALUE": 53, "T_QUOTED_STRING": 54, "T_DIGITS": 55, "COMMAND_PARAMETERS_repetition_plus0": 56, "COMMAND_PARAMETER": 57, "T_PLURAL_PARAMETER_NAME": 58, "$accept": 0, "$end": 1 }, - terminals_: { 2: "error", 5: "EOF", 9: "T_LITERAL", 11: "T_ANY", 12: "T_WS", 13: "{if", 15: "}", 18: "{/if}", 19: "{include", 21: "{implode", 22: "{/implode}", 23: "{foreach", 25: "{/foreach}", 26: "{plural", 28: "{lang}", 29: "{/lang}", 30: "{", 32: "{#", 33: "{@", 34: "{ldelim}", 35: "{rdelim}", 37: "{else}", 39: "{elseif", 41: "{foreachelse}", 42: "T_VARIABLE", 43: "T_VARIABLE_NAME", 46: "[", 47: "]", 48: ".", 49: "(", 51: ")", 52: "=", 54: "T_QUOTED_STRING", 55: "T_DIGITS" }, - productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [8, 1], [8, 1], [10, 7], [10, 3], [10, 5], [10, 6], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 1], [10, 1], [36, 2], [38, 4], [40, 2], [31, 3], [45, 3], [45, 2], [45, 3], [20, 5], [20, 3], [53, 1], [53, 1], [53, 1], [14, 1], [57, 1], [57, 1], [57, 1], [57, 1], [57, 1], [57, 1], [57, 1], [57, 3], [27, 5], [27, 3], [58, 1], [58, 1], [6, 0], [6, 2], [16, 0], [16, 2], [17, 0], [17, 1], [24, 0], [24, 1], [44, 0], [44, 2], [50, 0], [50, 1], [56, 1], [56, 2]], - performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) { - var $0 = $$.length - 1; - switch (yystate) { - case 1: - return $$[$0 - 1] + ";"; - break; - case 2: - var result = $$[$0].reduce(function(carry, item) { - if (item.encode && !carry[1]) - carry[0] += " + '" + item.value; - else if (item.encode && carry[1]) - carry[0] += item.value; - else if (!item.encode && carry[1]) - carry[0] += "' + " + item.value; - else if (!item.encode && !carry[1]) - carry[0] += " + " + item.value; - carry[1] = item.encode; - return carry; - }, ["''", false]); - if (result[1]) - result[0] += "'"; - this.$ = result[0]; - break; - case 3: - case 4: - this.$ = { encode: true, value: $$[$0].replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/(\r\n|\n|\r)/g, "\\n") }; - break; - case 5: - this.$ = { encode: false, value: $$[$0] }; - break; - case 8: - this.$ = "(function() { if (" + $$[$0 - 5] + ") { return " + $$[$0 - 3] + "; } " + $$[$0 - 2].join(" ") + " " + ($$[$0 - 1] || "") + " return ''; })()"; - break; - case 9: - if (!$$[$0 - 1]["file"]) - throw new Error("Missing parameter file"); - this.$ = $$[$0 - 1]["file"] + ".fetch(v)"; - break; - case 10: - if (!$$[$0 - 3]["from"]) - throw new Error("Missing parameter from"); - if (!$$[$0 - 3]["item"]) - throw new Error("Missing parameter item"); - if (!$$[$0 - 3]["glue"]) - $$[$0 - 3]["glue"] = "', '"; - this.$ = "(function() { return " + $$[$0 - 3]["from"] + ".map(function(item) { v[" + $$[$0 - 3]["item"] + "] = item; return " + $$[$0 - 1] + "; }).join(" + $$[$0 - 3]["glue"] + "); })()"; - break; - case 11: - if (!$$[$0 - 4]["from"]) - throw new Error("Missing parameter from"); - if (!$$[$0 - 4]["item"]) - throw new Error("Missing parameter item"); - this.$ = "(function() {var looped = false, result = '';if (" + $$[$0 - 4]["from"] + " instanceof Array) {for (var i = 0; i < " + $$[$0 - 4]["from"] + ".length; i++) { looped = true;v[" + $$[$0 - 4]["key"] + "] = i;v[" + $$[$0 - 4]["item"] + "] = " + $$[$0 - 4]["from"] + "[i];result += " + $$[$0 - 2] + ";}} else {for (var key in " + $$[$0 - 4]["from"] + ") {if (!" + $$[$0 - 4]["from"] + ".hasOwnProperty(key)) continue;looped = true;v[" + $$[$0 - 4]["key"] + "] = key;v[" + $$[$0 - 4]["item"] + "] = " + $$[$0 - 4]["from"] + "[key];result += " + $$[$0 - 2] + ";}}return (looped ? result : " + ($$[$0 - 1] || "''") + "); })()"; - break; - case 12: - this.$ = "h.selectPlural({"; - var needsComma = false; - for (var key in $$[$0 - 1]) { - if (objOwns($$[$0 - 1], key)) { - this.$ += (needsComma ? "," : "") + key + ": " + $$[$0 - 1][key]; - needsComma = true; - } - } - this.$ += "})"; - break; - case 13: - this.$ = "Language.get(" + $$[$0 - 1] + ", v)"; - break; - case 14: - this.$ = "h.escapeHTML(" + $$[$0 - 1] + ")"; - break; - case 15: - this.$ = "h.formatNumeric(" + $$[$0 - 1] + ")"; - break; - case 16: - this.$ = $$[$0 - 1]; - break; - case 17: - this.$ = "'{'"; - break; - case 18: - this.$ = "'}'"; - break; - case 19: - this.$ = "else { return " + $$[$0] + "; }"; - break; - case 20: - this.$ = "else if (" + $$[$0 - 2] + ") { return " + $$[$0] + "; }"; - break; - case 21: - this.$ = $$[$0]; - break; - case 22: - this.$ = "v['" + $$[$0 - 1] + "']" + $$[$0].join(""); - ; - break; - case 23: - this.$ = $$[$0 - 2] + $$[$0 - 1] + $$[$0]; - break; - case 24: - this.$ = "['" + $$[$0] + "']"; - break; - case 25: - case 39: - this.$ = $$[$0 - 2] + ($$[$0 - 1] || "") + $$[$0]; - break; - case 26: - case 40: - this.$ = $$[$0]; - this.$[$$[$0 - 4]] = $$[$0 - 2]; - break; - case 27: - case 41: - this.$ = {}; - this.$[$$[$0 - 2]] = $$[$0]; - break; - case 31: - this.$ = $$[$0].join(""); - break; - case 44: - case 46: - case 52: - this.$ = []; - break; - case 45: - case 47: - case 53: - case 57: - $$[$0 - 1].push($$[$0]); - break; - case 56: - this.$ = [$$[$0]]; - break; - } - }, - table: [o([5, 9, 11, 12, 13, 19, 21, 23, 26, 28, 30, 32, 33, 34, 35], $V0, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, o([5, 18, 22, 25, 29, 37, 39, 41], [2, 2], { 7: 5, 8: 6, 10: 8, 9: [1, 7], 11: [1, 9], 12: [1, 10], 13: [1, 11], 19: [1, 12], 21: [1, 13], 23: [1, 14], 26: [1, 15], 28: [1, 16], 30: [1, 17], 32: [1, 18], 33: [1, 19], 34: [1, 20], 35: [1, 21] }), { 1: [2, 1] }, o($V1, [2, 45]), o($V1, [2, 3]), o($V1, [2, 4]), o($V1, [2, 5]), o($V1, [2, 6]), o($V1, [2, 7]), { 11: $V2, 12: $V3, 14: 22, 31: 30, 42: $V4, 43: $V5, 49: $V6, 52: $V7, 54: $V8, 55: $V9, 56: 23, 57: 24 }, { 20: 34, 43: $Va }, { 20: 36, 43: $Va }, { 20: 37, 43: $Va }, { 27: 38, 43: $Vb, 55: $Vc, 58: 39 }, o([9, 11, 12, 13, 19, 21, 23, 26, 28, 29, 30, 32, 33, 34, 35], $V0, { 6: 3, 4: 42 }), { 31: 43, 42: $V4 }, { 31: 44, 42: $V4 }, { 31: 45, 42: $V4 }, o($V1, [2, 17]), o($V1, [2, 18]), { 15: [1, 46] }, o([15, 47, 51], [2, 31], { 31: 30, 57: 47, 11: $V2, 12: $V3, 42: $V4, 43: $V5, 49: $V6, 52: $V7, 54: $V8, 55: $V9 }), o($Vd, [2, 56]), o($Vd, [2, 32]), o($Vd, [2, 33]), o($Vd, [2, 34]), o($Vd, [2, 35]), o($Vd, [2, 36]), o($Vd, [2, 37]), o($Vd, [2, 38]), { 11: $V2, 12: $V3, 14: 48, 31: 30, 42: $V4, 43: $V5, 49: $V6, 52: $V7, 54: $V8, 55: $V9, 56: 23, 57: 24 }, { 43: [1, 49] }, { 15: [1, 50] }, { 52: [1, 51] }, { 15: [1, 52] }, { 15: [1, 53] }, { 15: [1, 54] }, { 52: [1, 55] }, { 52: [2, 42] }, { 52: [2, 43] }, { 29: [1, 56] }, { 15: [1, 57] }, { 15: [1, 58] }, { 15: [1, 59] }, o($Ve, $V0, { 6: 3, 4: 60 }), o($Vd, [2, 57]), { 51: [1, 61] }, o($Vf, [2, 52], { 44: 62 }), o($V1, [2, 9]), { 31: 66, 42: $V4, 53: 63, 54: $Vg, 55: $Vh }, o([9, 11, 12, 13, 19, 21, 22, 23, 26, 28, 30, 32, 33, 34, 35], $V0, { 6: 3, 4: 67 }), o([9, 11, 12, 13, 19, 21, 23, 25, 26, 28, 30, 32, 33, 34, 35, 41], $V0, { 6: 3, 4: 68 }), o($V1, [2, 12]), { 31: 66, 42: $V4, 53: 69, 54: $Vg, 55: $Vh }, o($V1, [2, 13]), o($V1, [2, 14]), o($V1, [2, 15]), o($V1, [2, 16]), o($Vi, [2, 46], { 16: 70 }), o($Vd, [2, 39]), o([11, 12, 15, 42, 43, 47, 51, 52, 54, 55], [2, 22], { 45: 71, 46: [1, 72], 48: [1, 73], 49: [1, 74] }), { 12: [1, 75], 15: [2, 27] }, o($Vj, [2, 28]), o($Vj, [2, 29]), o($Vj, [2, 30]), { 22: [1, 76] }, { 24: 77, 25: [2, 50], 40: 78, 41: [1, 79] }, { 12: [1, 80], 15: [2, 41] }, { 17: 81, 18: [2, 48], 36: 83, 37: [1, 85], 38: 82, 39: [1, 84] }, o($Vf, [2, 53]), { 11: $V2, 12: $V3, 14: 86, 31: 30, 42: $V4, 43: $V5, 49: $V6, 52: $V7, 54: $V8, 55: $V9, 56: 23, 57: 24 }, { 43: [1, 87] }, { 11: $V2, 12: $V3, 14: 89, 31: 30, 42: $V4, 43: $V5, 49: $V6, 50: 88, 51: [2, 54], 52: $V7, 54: $V8, 55: $V9, 56: 23, 57: 24 }, { 20: 90, 43: $Va }, o($V1, [2, 10]), { 25: [1, 91] }, { 25: [2, 51] }, o([9, 11, 12, 13, 19, 21, 23, 25, 26, 28, 30, 32, 33, 34, 35], $V0, { 6: 3, 4: 92 }), { 27: 93, 43: $Vb, 55: $Vc, 58: 39 }, { 18: [1, 94] }, o($Vi, [2, 47]), { 18: [2, 49] }, { 11: $V2, 12: $V3, 14: 95, 31: 30, 42: $V4, 43: $V5, 49: $V6, 52: $V7, 54: $V8, 55: $V9, 56: 23, 57: 24 }, o([9, 11, 12, 13, 18, 19, 21, 23, 26, 28, 30, 32, 33, 34, 35], $V0, { 6: 3, 4: 96 }), { 47: [1, 97] }, o($Vf, [2, 24]), { 51: [1, 98] }, { 51: [2, 55] }, { 15: [2, 26] }, o($V1, [2, 11]), { 25: [2, 21] }, { 15: [2, 40] }, o($V1, [2, 8]), { 15: [1, 99] }, { 18: [2, 19] }, o($Vf, [2, 23]), o($Vf, [2, 25]), o($Ve, $V0, { 6: 3, 4: 100 }), o($Vi, [2, 20])], - defaultActions: { 4: [2, 1], 40: [2, 42], 41: [2, 43], 78: [2, 51], 83: [2, 49], 89: [2, 55], 90: [2, 26], 92: [2, 21], 93: [2, 40], 96: [2, 19] }, - parseError: function parseError(str, hash) { - if (hash.recoverable) { - this.trace(str); - } else { - var error = new Error(str); - error.hash = hash; - throw error; - } - }, - parse: function parse2(input) { - var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; - var args = lstack.slice.call(arguments, 1); - var lexer2 = Object.create(this.lexer); - var sharedState = { yy: {} }; - for (var k in this.yy) { - if (Object.prototype.hasOwnProperty.call(this.yy, k)) { - sharedState.yy[k] = this.yy[k]; - } - } - lexer2.setInput(input, sharedState.yy); - sharedState.yy.lexer = lexer2; - sharedState.yy.parser = this; - if (typeof lexer2.yylloc == "undefined") { - lexer2.yylloc = {}; - } - var yyloc = lexer2.yylloc; - lstack.push(yyloc); - var ranges = lexer2.options && lexer2.options.ranges; - if (typeof sharedState.yy.parseError === "function") { - this.parseError = sharedState.yy.parseError; - } else { - this.parseError = Object.getPrototypeOf(this).parseError; - } - function popStack(n) { - stack.length = stack.length - 2 * n; - vstack.length = vstack.length - n; - lstack.length = lstack.length - n; - } - var lex = function() { - var token; - token = lexer2.lex() || EOF; - if (typeof token !== "number") { - token = self.symbols_[token] || token; - } - return token; - }; - var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; - while (true) { - state = stack[stack.length - 1]; - if (this.defaultActions[state]) { - action = this.defaultActions[state]; - } else { - if (symbol === null || typeof symbol == "undefined") { - symbol = lex(); - } - action = table[state] && table[state][symbol]; - } - if (typeof action === "undefined" || !action.length || !action[0]) { - var errStr = ""; - expected = []; - for (p in table[state]) { - if (this.terminals_[p] && p > TERROR) { - expected.push("'" + this.terminals_[p] + "'"); - } - } - if (lexer2.showPosition) { - errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; - } else { - errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'"); - } - this.parseError(errStr, { - text: lexer2.match, - token: this.terminals_[symbol] || symbol, - line: lexer2.yylineno, - loc: yyloc, - expected - }); - } - if (action[0] instanceof Array && action.length > 1) { - throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); - } - switch (action[0]) { - case 1: - stack.push(symbol); - vstack.push(lexer2.yytext); - lstack.push(lexer2.yylloc); - stack.push(action[1]); - symbol = null; - if (!preErrorSymbol) { - yyleng = lexer2.yyleng; - yytext = lexer2.yytext; - yylineno = lexer2.yylineno; - yyloc = lexer2.yylloc; - if (recovering > 0) { - recovering--; - } - } else { - symbol = preErrorSymbol; - preErrorSymbol = null; - } - break; - case 2: - len = this.productions_[action[1]][1]; - yyval.$ = vstack[vstack.length - len]; - yyval._$ = { - first_line: lstack[lstack.length - (len || 1)].first_line, - last_line: lstack[lstack.length - 1].last_line, - first_column: lstack[lstack.length - (len || 1)].first_column, - last_column: lstack[lstack.length - 1].last_column - }; - if (ranges) { - yyval._$.range = [ - lstack[lstack.length - (len || 1)].range[0], - lstack[lstack.length - 1].range[1] - ]; - } - r = this.performAction.apply(yyval, [ - yytext, - yyleng, - yylineno, - sharedState.yy, - action[1], - vstack, - lstack - ].concat(args)); - if (typeof r !== "undefined") { - return r; - } - if (len) { - stack = stack.slice(0, -1 * len * 2); - vstack = vstack.slice(0, -1 * len); - lstack = lstack.slice(0, -1 * len); - } - stack.push(this.productions_[action[1]][0]); - vstack.push(yyval.$); - lstack.push(yyval._$); - newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; - stack.push(newState); - break; - case 3: - return true; - } - } - return true; - } - }; - var lexer = function() { - var lexer2 = { - EOF: 1, - parseError: function parseError(str, hash) { - if (this.yy.parser) { - this.yy.parser.parseError(str, hash); - } else { - throw new Error(str); - } - }, - // resets the lexer, sets new input - setInput: function(input, yy) { - this.yy = yy || this.yy || {}; - this._input = input; - this._more = this._backtrack = this.done = false; - this.yylineno = this.yyleng = 0; - this.yytext = this.matched = this.match = ""; - this.conditionStack = ["INITIAL"]; - this.yylloc = { - first_line: 1, - first_column: 0, - last_line: 1, - last_column: 0 - }; - if (this.options.ranges) { - this.yylloc.range = [0, 0]; - } - this.offset = 0; - return this; - }, - // consumes and returns one char from the input - input: function() { - var ch = this._input[0]; - this.yytext += ch; - this.yyleng++; - this.offset++; - this.match += ch; - this.matched += ch; - var lines = ch.match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno++; - this.yylloc.last_line++; - } else { - this.yylloc.last_column++; - } - if (this.options.ranges) { - this.yylloc.range[1]++; - } - this._input = this._input.slice(1); - return ch; - }, - // unshifts one char (or a string) into the input - unput: function(ch) { - var len = ch.length; - var lines = ch.split(/(?:\r\n?|\n)/g); - this._input = ch + this._input; - this.yytext = this.yytext.substr(0, this.yytext.length - len); - this.offset -= len; - var oldLines = this.match.split(/(?:\r\n?|\n)/g); - this.match = this.match.substr(0, this.match.length - 1); - this.matched = this.matched.substr(0, this.matched.length - 1); - if (lines.length - 1) { - this.yylineno -= lines.length - 1; - } - var r = this.yylloc.range; - this.yylloc = { - first_line: this.yylloc.first_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.first_column, - last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len - }; - if (this.options.ranges) { - this.yylloc.range = [r[0], r[0] + this.yyleng - len]; - } - this.yyleng = this.yytext.length; - return this; - }, - // When called from action, caches matched text and appends it on next action - more: function() { - this._more = true; - return this; - }, - // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. - reject: function() { - if (this.options.backtrack_lexer) { - this._backtrack = true; - } else { - return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - return this; - }, - // retain first n characters of the match - less: function(n) { - this.unput(this.match.slice(n)); - }, - // displays already matched input, i.e. for error messages - pastInput: function() { - var past = this.matched.substr(0, this.matched.length - this.match.length); - return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, ""); - }, - // displays upcoming input, i.e. for error messages - upcomingInput: function() { - var next = this.match; - if (next.length < 20) { - next += this._input.substr(0, 20 - next.length); - } - return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, ""); - }, - // displays the character position where the lexing error occurred, i.e. for error messages - showPosition: function() { - var pre = this.pastInput(); - var c = new Array(pre.length + 1).join("-"); - return pre + this.upcomingInput() + "\n" + c + "^"; - }, - // test the lexed token: return FALSE when not a match, otherwise return token - test_match: function(match, indexed_rule) { - var token, lines, backup; - if (this.options.backtrack_lexer) { - backup = { - yylineno: this.yylineno, - yylloc: { - first_line: this.yylloc.first_line, - last_line: this.last_line, - first_column: this.yylloc.first_column, - last_column: this.yylloc.last_column - }, - yytext: this.yytext, - match: this.match, - matches: this.matches, - matched: this.matched, - yyleng: this.yyleng, - offset: this.offset, - _more: this._more, - _input: this._input, - yy: this.yy, - conditionStack: this.conditionStack.slice(0), - done: this.done - }; - if (this.options.ranges) { - backup.yylloc.range = this.yylloc.range.slice(0); - } - } - lines = match[0].match(/(?:\r\n?|\n).*/g); - if (lines) { - this.yylineno += lines.length; - } - this.yylloc = { - first_line: this.yylloc.last_line, - last_line: this.yylineno + 1, - first_column: this.yylloc.last_column, - last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length - }; - this.yytext += match[0]; - this.match += match[0]; - this.matches = match; - this.yyleng = this.yytext.length; - if (this.options.ranges) { - this.yylloc.range = [this.offset, this.offset += this.yyleng]; - } - this._more = false; - this._backtrack = false; - this._input = this._input.slice(match[0].length); - this.matched += match[0]; - token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); - if (this.done && this._input) { - this.done = false; - } - if (token) { - return token; - } else if (this._backtrack) { - for (var k in backup) { - this[k] = backup[k]; - } - return false; - } - return false; - }, - // return next match in input - next: function() { - if (this.done) { - return this.EOF; - } - if (!this._input) { - this.done = true; - } - var token, match, tempMatch, index; - if (!this._more) { - this.yytext = ""; - this.match = ""; - } - var rules = this._currentRules(); - for (var i = 0; i < rules.length; i++) { - tempMatch = this._input.match(this.rules[rules[i]]); - if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { - match = tempMatch; - index = i; - if (this.options.backtrack_lexer) { - token = this.test_match(tempMatch, rules[i]); - if (token !== false) { - return token; - } else if (this._backtrack) { - match = false; - continue; - } else { - return false; - } - } else if (!this.options.flex) { - break; - } - } - } - if (match) { - token = this.test_match(match, rules[index]); - if (token !== false) { - return token; - } - return false; - } - if (this._input === "") { - return this.EOF; - } else { - return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { - text: "", - token: null, - line: this.yylineno - }); - } - }, - // return next match that has a token - lex: function lex() { - var r = this.next(); - if (r) { - return r; - } else { - return this.lex(); - } - }, - // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) - begin: function begin(condition) { - this.conditionStack.push(condition); - }, - // pop the previously active lexer condition state off the condition stack - popState: function popState() { - var n = this.conditionStack.length - 1; - if (n > 0) { - return this.conditionStack.pop(); - } else { - return this.conditionStack[0]; - } - }, - // produce the lexer rule set which is active for the currently active lexer condition state - _currentRules: function _currentRules() { - if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { - return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; - } else { - return this.conditions["INITIAL"].rules; - } - }, - // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available - topState: function topState(n) { - n = this.conditionStack.length - 1 - Math.abs(n || 0); - if (n >= 0) { - return this.conditionStack[n]; - } else { - return "INITIAL"; - } - }, - // alias for begin(condition) - pushState: function pushState(condition) { - this.begin(condition); - }, - // return the number of states currently on the stack - stateStackSize: function stateStackSize() { - return this.conditionStack.length; - }, - options: {}, - performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) { - var YYSTATE = YY_START; - switch ($avoiding_name_collisions) { - case 0: - break; - case 1: - yy_.yytext = yy_.yytext.substring(9, yy_.yytext.length - 10); - return 9; - break; - case 2: - return 54; - break; - case 3: - return 54; - break; - case 4: - return 42; - break; - case 5: - return 55; - break; - case 6: - return 43; - break; - case 7: - return 48; - break; - case 8: - return 46; - break; - case 9: - return 47; - break; - case 10: - return 49; - break; - case 11: - return 51; - break; - case 12: - return 52; - break; - case 13: - return 34; - break; - case 14: - return 35; - break; - case 15: - this.begin("command"); - return 32; - break; - case 16: - this.begin("command"); - return 33; - break; - case 17: - this.begin("command"); - return 13; - break; - case 18: - this.begin("command"); - return 39; - break; - case 19: - this.begin("command"); - return 39; - break; - case 20: - return 37; - break; - case 21: - return 18; - break; - case 22: - return 28; - break; - case 23: - return 29; - break; - case 24: - this.begin("command"); - return 19; - break; - case 25: - this.begin("command"); - return 21; - break; - case 26: - this.begin("command"); - return 26; - break; - case 27: - return 22; - break; - case 28: - this.begin("command"); - return 23; - break; - case 29: - return 41; - break; - case 30: - return 25; - break; - case 31: - this.begin("command"); - return 30; - break; - case 32: - this.popState(); - return 15; - break; - case 33: - return 12; - break; - case 34: - return 5; - break; - case 35: - return 11; - break; - } - }, - rules: [/^(?:\{\*[\s\S]*?\*\})/, /^(?:\{literal\}[\s\S]*?\{\/literal\})/, /^(?:"([^"]|\\\.)*")/, /^(?:'([^']|\\\.)*')/, /^(?:\$)/, /^(?:[0-9]+)/, /^(?:[_a-zA-Z][_a-zA-Z0-9]*)/, /^(?:\.)/, /^(?:\[)/, /^(?:\])/, /^(?:\()/, /^(?:\))/, /^(?:=)/, /^(?:\{ldelim\})/, /^(?:\{rdelim\})/, /^(?:\{#)/, /^(?:\{@)/, /^(?:\{if )/, /^(?:\{else if )/, /^(?:\{elseif )/, /^(?:\{else\})/, /^(?:\{\/if\})/, /^(?:\{lang\})/, /^(?:\{\/lang\})/, /^(?:\{include )/, /^(?:\{implode )/, /^(?:\{plural )/, /^(?:\{\/implode\})/, /^(?:\{foreach )/, /^(?:\{foreachelse\})/, /^(?:\{\/foreach\})/, /^(?:\{(?!\s))/, /^(?:\})/, /^(?:\s+)/, /^(?:$)/, /^(?:[^{])/], - conditions: { "command": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35], "inclusive": true }, "INITIAL": { "rules": [0, 1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35], "inclusive": true } } - }; - return lexer2; - }(); - parser2.lexer = lexer; - function Parser() { - this.yy = {}; - } - Parser.prototype = parser2; - parser2.Parser = Parser; - return new Parser(); - }(); - if (typeof __require !== "undefined" && typeof exports !== "undefined") { - exports.parser = Template2; - exports.Parser = Template2.Parser; - exports.parse = function() { - return Template2.parse.apply(Template2, arguments); - }; - exports.main = true; - if (typeof module !== "undefined" && __require.main === module) { - exports.main(process.argv.slice(1)); - } - } - } - }); - - // ts/WoltLabSuite/WebComponent/Language.ts - var Language_exports = {}; - __export(Language_exports, { - getPhrase: () => get, - registerPhrase: () => registerPhrase - }); - - // ts/WoltLabSuite/WebComponent/Template.ts - var parser = __toESM(require_Template_grammar()); - - // ts/WoltLabSuite/WebComponent/LanguageStore.ts - var LanguageStore_exports = {}; - __export(LanguageStore_exports, { - add: () => add, - get: () => get - }); - var languageItems = /* @__PURE__ */ new Map(); - function get(key, parameters = {}) { - const value = languageItems.get(key); - if (value === void 0) { - return key; - } - return value(parameters); - } - function add(key, value) { - languageItems.set(key, value); - } - - // ts/WoltLabSuite/WebComponent/Template.ts - function escapeHTML(string) { - return String(string).replace(/&/g, "&").replace(/"/g, """).replace(//g, ">"); - } - function formatNumeric(string) { - return Number(string).toLocaleString(document.documentElement.lang, { - maximumFractionDigits: 2 - }).replace("-", "\u2212"); - } - var pluralRules = new Intl.PluralRules(document.documentElement.lang); - function selectPlural(parameters) { - if (!Object.hasOwn(parameters, "value")) { - throw new Error("Missing parameter value"); - } - if (!parameters.other) { - throw new Error("Missing parameter other"); - } - let value = parameters.value; - if (Array.isArray(value)) { - value = value.length; - } - const numericAttribute = Object.keys(parameters).find((key) => { - return key.toString() === parseInt(key).toString() && key.toString() === value.toString(); - }); - if (numericAttribute) { - return numericAttribute; - } - let category = pluralRules.select(value); - if (parameters[category] === void 0) { - category = "other"; - } - const string = parameters[category]; - if (string.includes("#")) { - return string.replace("#", formatNumeric(value)); - } - return string; - } - function compile(template) { - const compiled = `var tmp = {}; +"use strict";(()=>{var ke=Object.create;var te=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var xe=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty;var se=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,n)=>(typeof require<"u"?require:r)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _e=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),fe=(e,r)=>{for(var n in r)te(e,n,{get:r[n],enumerable:!0})},Le=(e,r,n,h)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of ve(r))!Ee.call(e,t)&&t!==n&&te(e,t,{get:()=>r[t],enumerable:!(h=ye(r,t))||h.enumerable});return e};var Te=(e,r,n)=>(n=e!=null?ke(xe(e)):{},Le(r||!e||!e.__esModule?te(n,"default",{value:e,enumerable:!0}):n,e));var ce=_e((H,re)=>{"use strict";var Q=function(){var e=function(R,o,f,c){for(f=f||{},c=R.length;c--;f[R[c]]=o);return f},r=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],h=[1,25],t=[1,27],a=[1,33],l=[1,31],d=[1,32],b=[1,28],k=[1,29],A=[1,26],S=[1,35],z=[1,41],P=[1,40],u=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],p=[11,12,15,42,43,46,47,48,49,51,52,54,55],E=[1,64],y=[1,65],_=[18,37,39],C=[12,15],W={trace:function(){},yy:{},symbols_:{error:2,TEMPLATE:3,CHUNK_STAR:4,EOF:5,CHUNK_STAR_repetition0:6,CHUNK:7,PLAIN_ANY:8,T_LITERAL:9,COMMAND:10,T_ANY:11,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(o,f,c,w,m,s,U){var i=s.length-1;switch(m){case 1:return s[i-1]+";";case 2:var D=s[i].reduce(function(L,T){return T.encode&&!L[1]?L[0]+=" + '"+T.value:T.encode&&L[1]?L[0]+=T.value:!T.encode&&L[1]?L[0]+="' + "+T.value:!T.encode&&!L[1]&&(L[0]+=" + "+T.value),L[1]=T.encode,L},["''",!1]);D[1]&&(D[0]+="'"),this.$=D[0];break;case 3:case 4:this.$={encode:!0,value:s[i].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:s[i]};break;case 8:this.$="(function() { if ("+s[i-5]+") { return "+s[i-3]+"; } "+s[i-2].join(" ")+" "+(s[i-1]||"")+" return ''; })()";break;case 9:if(!s[i-1].file)throw new Error("Missing parameter file");this.$=s[i-1].file+".fetch(v)";break;case 10:if(!s[i-3].from)throw new Error("Missing parameter from");if(!s[i-3].item)throw new Error("Missing parameter item");s[i-3].glue||(s[i-3].glue="', '"),this.$="(function() { return "+s[i-3].from+".map(function(item) { v["+s[i-3].item+"] = item; return "+s[i-1]+"; }).join("+s[i-3].glue+"); })()";break;case 11:if(!s[i-4].from)throw new Error("Missing parameter from");if(!s[i-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+s[i-4].from+" instanceof Array) {for (var i = 0; i < "+s[i-4].from+".length; i++) { looped = true;v["+s[i-4].key+"] = i;v["+s[i-4].item+"] = "+s[i-4].from+"[i];result += "+s[i-2]+";}} else {for (var key in "+s[i-4].from+") {if (!"+s[i-4].from+".hasOwnProperty(key)) continue;looped = true;v["+s[i-4].key+"] = key;v["+s[i-4].item+"] = "+s[i-4].from+"[key];result += "+s[i-2]+";}}return (looped ? result : "+(s[i-1]||"''")+"); })()";break;case 12:this.$="h.selectPlural({";var B=!1;for(var F in s[i-1])objOwns(s[i-1],F)&&(this.$+=(B?",":"")+F+": "+s[i-1][F],B=!0);this.$+="})";break;case 13:this.$="Language.get("+s[i-1]+", v)";break;case 14:this.$="h.escapeHTML("+s[i-1]+")";break;case 15:this.$="h.formatNumeric("+s[i-1]+")";break;case 16:this.$=s[i-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+s[i]+"; }";break;case 20:this.$="else if ("+s[i-2]+") { return "+s[i]+"; }";break;case 21:this.$=s[i];break;case 22:this.$="v['"+s[i-1]+"']"+s[i].join("");break;case 23:this.$=s[i-2]+s[i-1]+s[i];break;case 24:this.$="['"+s[i]+"']";break;case 25:case 39:this.$=s[i-2]+(s[i-1]||"")+s[i];break;case 26:case 40:this.$=s[i],this.$[s[i-4]]=s[i-2];break;case 27:case 41:this.$={},this.$[s[i-2]]=s[i];break;case 31:this.$=s[i].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:s[i-1].push(s[i]);break;case 56:this.$=[s[i]];break}},table:[e([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],r,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},e([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},e(n,[2,45]),e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),{11:h,12:t,14:22,31:30,42:a,43:l,49:d,52:b,54:k,55:A,56:23,57:24},{20:34,43:S},{20:36,43:S},{20:37,43:S},{27:38,43:z,55:P,58:39},e([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],r,{6:3,4:42}),{31:43,42:a},{31:44,42:a},{31:45,42:a},e(n,[2,17]),e(n,[2,18]),{15:[1,46]},e([15,47,51],[2,31],{31:30,57:47,11:h,12:t,42:a,43:l,49:d,52:b,54:k,55:A}),e(u,[2,56]),e(u,[2,32]),e(u,[2,33]),e(u,[2,34]),e(u,[2,35]),e(u,[2,36]),e(u,[2,37]),e(u,[2,38]),{11:h,12:t,14:48,31:30,42:a,43:l,49:d,52:b,54:k,55:A,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},e(g,r,{6:3,4:60}),e(u,[2,57]),{51:[1,61]},e(p,[2,52],{44:62}),e(n,[2,9]),{31:66,42:a,53:63,54:E,55:y},e([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],r,{6:3,4:67}),e([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],r,{6:3,4:68}),e(n,[2,12]),{31:66,42:a,53:69,54:E,55:y},e(n,[2,13]),e(n,[2,14]),e(n,[2,15]),e(n,[2,16]),e(_,[2,46],{16:70}),e(u,[2,39]),e([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},e(C,[2,28]),e(C,[2,29]),e(C,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},e(p,[2,53]),{11:h,12:t,14:86,31:30,42:a,43:l,49:d,52:b,54:k,55:A,56:23,57:24},{43:[1,87]},{11:h,12:t,14:89,31:30,42:a,43:l,49:d,50:88,51:[2,54],52:b,54:k,55:A,56:23,57:24},{20:90,43:S},e(n,[2,10]),{25:[1,91]},{25:[2,51]},e([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],r,{6:3,4:92}),{27:93,43:z,55:P,58:39},{18:[1,94]},e(_,[2,47]),{18:[2,49]},{11:h,12:t,14:95,31:30,42:a,43:l,49:d,52:b,54:k,55:A,56:23,57:24},e([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],r,{6:3,4:96}),{47:[1,97]},e(p,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},e(n,[2,11]),{25:[2,21]},{15:[2,40]},e(n,[2,8]),{15:[1,99]},{18:[2,19]},e(p,[2,23]),e(p,[2,25]),e(g,r,{6:3,4:100}),e(_,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(o,f){if(f.recoverable)this.trace(o);else{var c=new Error(o);throw c.hash=f,c}},parse:function(o){var f=this,c=[0],w=[],m=[null],s=[],U=this.table,i="",D=0,B=0,F=0,L=2,T=1,me=s.slice.call(arguments,1),v=Object.create(this.lexer),j={yy:{}};for(var X in this.yy)Object.prototype.hasOwnProperty.call(this.yy,X)&&(j.yy[X]=this.yy[X]);v.setInput(o,j.yy),j.yy.lexer=v,j.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var J=v.yylloc;s.push(J);var be=v.options&&v.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(M){c.length=c.length-2*M,m.length=m.length-M,s.length=s.length-M}for(var we=function(){var M;return M=v.lex()||T,typeof M!="number"&&(M=f.symbols_[M]||M),M},x,$,O,q,De,ee,N={},Y,I,oe,Z;;){if(O=c[c.length-1],this.defaultActions[O]?q=this.defaultActions[O]:((x===null||typeof x>"u")&&(x=we()),q=U[O]&&U[O][x]),typeof q>"u"||!q.length||!q[0]){var ae="";Z=[];for(Y in U[O])this.terminals_[Y]&&Y>L&&Z.push("'"+this.terminals_[Y]+"'");v.showPosition?ae="Parse error on line "+(D+1)+`: +`+v.showPosition()+` +Expecting `+Z.join(", ")+", got '"+(this.terminals_[x]||x)+"'":ae="Parse error on line "+(D+1)+": Unexpected "+(x==T?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(ae,{text:v.match,token:this.terminals_[x]||x,line:v.yylineno,loc:J,expected:Z})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+x);switch(q[0]){case 1:c.push(x),m.push(v.yytext),s.push(v.yylloc),c.push(q[1]),x=null,$?(x=$,$=null):(B=v.yyleng,i=v.yytext,D=v.yylineno,J=v.yylloc,F>0&&F--);break;case 2:if(I=this.productions_[q[1]][1],N.$=m[m.length-I],N._$={first_line:s[s.length-(I||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(I||1)].first_column,last_column:s[s.length-1].last_column},be&&(N._$.range=[s[s.length-(I||1)].range[0],s[s.length-1].range[1]]),ee=this.performAction.apply(N,[i,B,D,j.yy,q[1],m,s].concat(me)),typeof ee<"u")return ee;I&&(c=c.slice(0,-1*I*2),m=m.slice(0,-1*I),s=s.slice(0,-1*I)),c.push(this.productions_[q[1]][0]),m.push(N.$),s.push(N._$),oe=U[c[c.length-2]][c[c.length-1]],c.push(oe);break;case 3:return!0}}return!0}},ge=function(){var R={EOF:1,parseError:function(f,c){if(this.yy.parser)this.yy.parser.parseError(f,c);else throw new Error(f)},setInput:function(o,f){return this.yy=f||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var f=o.match(/(?:\r\n?|\n).*/g);return f?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},unput:function(o){var f=o.length,c=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var w=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===w.length?this.yylloc.first_column:0)+w[w.length-c.length].length-c[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(o){this.unput(this.match.slice(o))},pastInput:function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var o=this.pastInput(),f=new Array(o.length+1).join("-");return o+this.upcomingInput()+` +`+f+"^"},test_match:function(o,f){var c,w,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),w=o[0].match(/(?:\r\n?|\n).*/g),w&&(this.yylineno+=w.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:w?w[w.length-1].length-w[w.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],c=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var s in m)this[s]=m[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,f,c,w;this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),s=0;sf[0].length)){if(f=c,w=s,this.options.backtrack_lexer){if(o=this.test_match(c,m[s]),o!==!1)return o;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(o=this.test_match(f,m[w]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var f=this.next();return f||this.lex()},begin:function(f){this.conditionStack.push(f)},popState:function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},pushState:function(f){this.begin(f)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(f,c,w,m){var s=m;switch(w){case 0:break;case 1:return c.yytext=c.yytext.substring(9,c.yytext.length-10),9;break;case 2:return 54;case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;break;case 16:return this.begin("command"),33;break;case 17:return this.begin("command"),13;break;case 18:return this.begin("command"),39;break;case 19:return this.begin("command"),39;break;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;break;case 25:return this.begin("command"),21;break;case 26:return this.begin("command"),26;break;case 27:return 22;case 28:return this.begin("command"),23;break;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;break;case 32:return this.popState(),15;break;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\s+)/,/^(?:$)/,/^(?:[^{])/],conditions:{command:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return R}();W.lexer=ge;function K(){this.yy={}}return K.prototype=W,W.Parser=K,new K}();typeof se<"u"&&typeof H<"u"&&(H.parser=Q,H.Parser=Q.Parser,H.parse=function(){return Q.parse.apply(Q,arguments)},H.main=!0,typeof re<"u"&&se.main===re&&H.main(process.argv.slice(1)))});var ne={};fe(ne,{getPhrase:()=>le,registerPhrase:()=>Ie});var he=Te(ce());var ie={};fe(ie,{add:()=>G,get:()=>le});var ue=new Map;function le(e,r={}){let n=ue.get(e);return n===void 0?e:n(r)}function G(e,r){ue.set(e,r)}function qe(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(//g,">")}function de(e){return Number(e).toLocaleString(document.documentElement.lang,{maximumFractionDigits:2}).replace("-","\u2212")}var Ae=new Intl.PluralRules(document.documentElement.lang);function Se(e){if(!Object.hasOwn(e,"value"))throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let r=e.value;Array.isArray(r)&&(r=r.length);let n=Object.keys(e).find(a=>a.toString()===parseInt(a).toString()&&a.toString()===r.toString());if(n)return n;let h=Ae.select(r);e[h]===void 0&&(h="other");let t=e[h];return t.includes("#")?t.replace("#",de(r)):t}function Me(e){let r=`var tmp = {}; for (var key in v) tmp[key] = v[key]; v = tmp; v.__wcf = window.WCF; v.__window = window; - return ${parser.parse(template)} - `; - return new Function("Language", "h", "v", compiled); - } - var Template = class { - compiled; - constructor(template) { - try { - this.compiled = compile(template); - } catch (e) { - if (e instanceof Error) { - console.debug(e.message); - } - throw e; - } - } - /** - * Evaluates the Template using the given parameters. - */ - fetch(v) { - return this.compiled(LanguageStore_exports, { selectPlural, escapeHTML, formatNumeric }, v); - } - }; - - // ts/WoltLabSuite/WebComponent/Language.ts - function registerPhrase(key, value) { - if (typeof value === "string") { - add(key, compile2(value)); - } else { - add(key, function() { - return value; - }); - } - } - function compile2(value) { - if (!value.includes("{")) { - return function() { - return value; - }; - } - try { - const template = new Template(value); - return template.fetch.bind(template); - } catch (e) { - return function() { - return value; - }; - } - } - - // ts/WoltLabSuite/WebComponent/html-parsed-element.js - var HTMLParsedElement = (() => { - const DCL = "DOMContentLoaded"; - const init = /* @__PURE__ */ new WeakMap(); - const queue = []; - const isParsed = (el) => { - do { - if (el.nextSibling) - return true; - } while (el = el.parentNode); - return false; - }; - const upgrade = () => { - queue.splice(0).forEach((info) => { - if (init.get(info[0]) !== true) { - init.set(info[0], true); - info[0][info[1]](); - } - }); - }; - document.addEventListener(DCL, upgrade); - class HTMLParsedElement2 extends HTMLElement { - static withParsedCallback(Class, name = "parsed") { - const { prototype } = Class; - const { connectedCallback } = prototype; - const method = name + "Callback"; - const cleanUp = (el, observer, ownerDocument, onDCL) => { - observer.disconnect(); - ownerDocument.removeEventListener(DCL, onDCL); - parsedCallback(el); - }; - const parsedCallback = (el) => { - if (!queue.length) - requestAnimationFrame(upgrade); - queue.push([el, method]); - }; - Object.defineProperties( - prototype, - { - connectedCallback: { - configurable: true, - writable: true, - value() { - if (connectedCallback) - connectedCallback.apply(this, arguments); - if (method in this && !init.has(this)) { - const self = this; - const { ownerDocument } = self; - init.set(self, false); - if (ownerDocument.readyState === "complete" || isParsed(self)) - parsedCallback(self); - else { - const onDCL = () => cleanUp(self, observer, ownerDocument, onDCL); - ownerDocument.addEventListener(DCL, onDCL); - const observer = new MutationObserver(() => { - if (isParsed(self)) - cleanUp(self, observer, ownerDocument, onDCL); - }); - observer.observe(self.parentNode, { childList: true, subtree: true }); - } - } - } - }, - [name]: { - configurable: true, - get() { - return init.get(this) === true; - } - } - } - ); - return Class; - } - } - return HTMLParsedElement2.withParsedCallback(HTMLParsedElement2); - })(); - var html_parsed_element_default = HTMLParsedElement; - - // ts/WoltLabSuite/WebComponent/fa-metadata.js - (() => { - const aliases = /* @__PURE__ */ new Map( - [["contact-book", "address-book"], ["contact-card", "address-card"], ["vcard", "address-card"], ["angle-double-down", "angles-down"], ["angle-double-left", "angles-left"], ["angle-double-right", "angles-right"], ["angle-double-up", "angles-up"], ["apple-alt", "apple-whole"], ["sort-numeric-asc", "arrow-down-1-9"], ["sort-numeric-down", "arrow-down-1-9"], ["sort-numeric-desc", "arrow-down-9-1"], ["sort-numeric-down-alt", "arrow-down-9-1"], ["sort-alpha-asc", "arrow-down-a-z"], ["sort-alpha-down", "arrow-down-a-z"], ["long-arrow-down", "arrow-down-long"], ["sort-amount-desc", "arrow-down-short-wide"], ["sort-amount-down-alt", "arrow-down-short-wide"], ["sort-amount-asc", "arrow-down-wide-short"], ["sort-amount-down", "arrow-down-wide-short"], ["sort-alpha-desc", "arrow-down-z-a"], ["sort-alpha-down-alt", "arrow-down-z-a"], ["long-arrow-left", "arrow-left-long"], ["mouse-pointer", "arrow-pointer"], ["exchange", "arrow-right-arrow-left"], ["sign-out", "arrow-right-from-bracket"], ["long-arrow-right", "arrow-right-long"], ["sign-in", "arrow-right-to-bracket"], ["arrow-left-rotate", "arrow-rotate-left"], ["arrow-rotate-back", "arrow-rotate-left"], ["arrow-rotate-backward", "arrow-rotate-left"], ["undo", "arrow-rotate-left"], ["arrow-right-rotate", "arrow-rotate-right"], ["arrow-rotate-forward", "arrow-rotate-right"], ["redo", "arrow-rotate-right"], ["level-down", "arrow-turn-down"], ["level-up", "arrow-turn-up"], ["sort-numeric-up", "arrow-up-1-9"], ["sort-numeric-up-alt", "arrow-up-9-1"], ["sort-alpha-up", "arrow-up-a-z"], ["long-arrow-up", "arrow-up-long"], ["external-link", "arrow-up-right-from-square"], ["sort-amount-up-alt", "arrow-up-short-wide"], ["sort-amount-up", "arrow-up-wide-short"], ["sort-alpha-up-alt", "arrow-up-z-a"], ["arrows-h", "arrows-left-right"], ["refresh", "arrows-rotate"], ["sync", "arrows-rotate"], ["arrows-v", "arrows-up-down"], ["arrows", "arrows-up-down-left-right"], ["carriage-baby", "baby-carriage"], ["fast-backward", "backward-fast"], ["step-backward", "backward-step"], ["shopping-bag", "bag-shopping"], ["haykal", "bahai"], ["cancel", "ban"], ["smoking-ban", "ban-smoking"], ["band-aid", "bandage"], ["navicon", "bars"], ["tasks-alt", "bars-progress"], ["reorder", "bars-staggered"], ["stream", "bars-staggered"], ["baseball-ball", "baseball"], ["shopping-basket", "basket-shopping"], ["basketball-ball", "basketball"], ["bathtub", "bath"], ["battery-0", "battery-empty"], ["battery", "battery-full"], ["battery-5", "battery-full"], ["battery-3", "battery-half"], ["battery-2", "battery-quarter"], ["battery-4", "battery-three-quarters"], ["procedures", "bed-pulse"], ["beer", "beer-mug-empty"], ["concierge-bell", "bell-concierge"], ["zap", "bolt"], ["atlas", "book-atlas"], ["bible", "book-bible"], ["journal-whills", "book-journal-whills"], ["book-reader", "book-open-reader"], ["quran", "book-quran"], ["book-dead", "book-skull"], ["tanakh", "book-tanakh"], ["border-style", "border-top-left"], ["archive", "box-archive"], ["boxes", "boxes-stacked"], ["boxes-alt", "boxes-stacked"], ["quidditch", "broom-ball"], ["quidditch-broom-ball", "broom-ball"], ["bank", "building-columns"], ["institution", "building-columns"], ["museum", "building-columns"], ["university", "building-columns"], ["hamburger", "burger"], ["bus-alt", "bus-simple"], ["briefcase-clock", "business-time"], ["tram", "cable-car"], ["birthday-cake", "cake-candles"], ["cake", "cake-candles"], ["calendar-alt", "calendar-days"], ["calendar-times", "calendar-xmark"], ["camera-alt", "camera"], ["automobile", "car"], ["battery-car", "car-battery"], ["car-crash", "car-burst"], ["car-alt", "car-rear"], ["dolly-flatbed", "cart-flatbed"], ["luggage-cart", "cart-flatbed-suitcase"], ["shopping-cart", "cart-shopping"], ["blackboard", "chalkboard"], ["chalkboard-teacher", "chalkboard-user"], ["glass-cheers", "champagne-glasses"], ["area-chart", "chart-area"], ["bar-chart", "chart-bar"], ["line-chart", "chart-line"], ["pie-chart", "chart-pie"], ["vote-yea", "check-to-slot"], ["child-rifle", "child-combatant"], ["arrow-circle-down", "circle-arrow-down"], ["arrow-circle-left", "circle-arrow-left"], ["arrow-circle-right", "circle-arrow-right"], ["arrow-circle-up", "circle-arrow-up"], ["check-circle", "circle-check"], ["chevron-circle-down", "circle-chevron-down"], ["chevron-circle-left", "circle-chevron-left"], ["chevron-circle-right", "circle-chevron-right"], ["chevron-circle-up", "circle-chevron-up"], ["donate", "circle-dollar-to-slot"], ["dot-circle", "circle-dot"], ["arrow-alt-circle-down", "circle-down"], ["exclamation-circle", "circle-exclamation"], ["hospital-symbol", "circle-h"], ["adjust", "circle-half-stroke"], ["info-circle", "circle-info"], ["arrow-alt-circle-left", "circle-left"], ["minus-circle", "circle-minus"], ["pause-circle", "circle-pause"], ["play-circle", "circle-play"], ["plus-circle", "circle-plus"], ["question-circle", "circle-question"], ["radiation-alt", "circle-radiation"], ["arrow-alt-circle-right", "circle-right"], ["stop-circle", "circle-stop"], ["arrow-alt-circle-up", "circle-up"], ["user-circle", "circle-user"], ["times-circle", "circle-xmark"], ["xmark-circle", "circle-xmark"], ["clock-four", "clock"], ["history", "clock-rotate-left"], ["cloud-download", "cloud-arrow-down"], ["cloud-download-alt", "cloud-arrow-down"], ["cloud-upload", "cloud-arrow-up"], ["cloud-upload-alt", "cloud-arrow-up"], ["thunderstorm", "cloud-bolt"], ["commenting", "comment-dots"], ["sms", "comment-sms"], ["drafting-compass", "compass-drafting"], ["mouse", "computer-mouse"], ["credit-card-alt", "credit-card"], ["crop-alt", "crop-simple"], ["backspace", "delete-left"], ["desktop-alt", "desktop"], ["project-diagram", "diagram-project"], ["directions", "diamond-turn-right"], ["dollar", "dollar-sign"], ["usd", "dollar-sign"], ["dolly-box", "dolly"], ["compress-alt", "down-left-and-up-right-to-center"], ["long-arrow-alt-down", "down-long"], ["tint", "droplet"], ["tint-slash", "droplet-slash"], ["deaf", "ear-deaf"], ["deafness", "ear-deaf"], ["hard-of-hearing", "ear-deaf"], ["assistive-listening-systems", "ear-listen"], ["globe-africa", "earth-africa"], ["earth", "earth-americas"], ["earth-america", "earth-americas"], ["globe-americas", "earth-americas"], ["globe-asia", "earth-asia"], ["globe-europe", "earth-europe"], ["globe-oceania", "earth-oceania"], ["ellipsis-h", "ellipsis"], ["ellipsis-v", "ellipsis-vertical"], ["mail-bulk", "envelopes-bulk"], ["eur", "euro-sign"], ["euro", "euro-sign"], ["eye-dropper-empty", "eye-dropper"], ["eyedropper", "eye-dropper"], ["low-vision", "eye-low-vision"], ["angry", "face-angry"], ["dizzy", "face-dizzy"], ["flushed", "face-flushed"], ["frown", "face-frown"], ["frown-open", "face-frown-open"], ["grimace", "face-grimace"], ["grin", "face-grin"], ["grin-beam", "face-grin-beam"], ["grin-beam-sweat", "face-grin-beam-sweat"], ["grin-hearts", "face-grin-hearts"], ["grin-squint", "face-grin-squint"], ["grin-squint-tears", "face-grin-squint-tears"], ["grin-stars", "face-grin-stars"], ["grin-tears", "face-grin-tears"], ["grin-tongue", "face-grin-tongue"], ["grin-tongue-squint", "face-grin-tongue-squint"], ["grin-tongue-wink", "face-grin-tongue-wink"], ["grin-alt", "face-grin-wide"], ["grin-wink", "face-grin-wink"], ["kiss", "face-kiss"], ["kiss-beam", "face-kiss-beam"], ["kiss-wink-heart", "face-kiss-wink-heart"], ["laugh", "face-laugh"], ["laugh-beam", "face-laugh-beam"], ["laugh-squint", "face-laugh-squint"], ["laugh-wink", "face-laugh-wink"], ["meh", "face-meh"], ["meh-blank", "face-meh-blank"], ["meh-rolling-eyes", "face-rolling-eyes"], ["sad-cry", "face-sad-cry"], ["sad-tear", "face-sad-tear"], ["smile", "face-smile"], ["smile-beam", "face-smile-beam"], ["smile-wink", "face-smile-wink"], ["surprise", "face-surprise"], ["tired", "face-tired"], ["feather-alt", "feather-pointed"], ["file-download", "file-arrow-down"], ["file-upload", "file-arrow-up"], ["arrow-right-from-file", "file-export"], ["arrow-right-to-file", "file-import"], ["file-alt", "file-lines"], ["file-text", "file-lines"], ["file-edit", "file-pen"], ["file-medical-alt", "file-waveform"], ["file-archive", "file-zipper"], ["funnel-dollar", "filter-circle-dollar"], ["fire-alt", "fire-flame-curved"], ["burn", "fire-flame-simple"], ["save", "floppy-disk"], ["folder-blank", "folder"], ["football-ball", "football"], ["fast-forward", "forward-fast"], ["step-forward", "forward-step"], ["futbol-ball", "futbol"], ["soccer-ball", "futbol"], ["dashboard", "gauge"], ["gauge-med", "gauge"], ["tachometer-alt-average", "gauge"], ["tachometer-alt", "gauge-high"], ["tachometer-alt-fast", "gauge-high"], ["gauge-simple-med", "gauge-simple"], ["tachometer-average", "gauge-simple"], ["tachometer", "gauge-simple-high"], ["tachometer-fast", "gauge-simple-high"], ["legal", "gavel"], ["cog", "gear"], ["cogs", "gears"], ["golf-ball", "golf-ball-tee"], ["mortar-board", "graduation-cap"], ["grip-horizontal", "grip"], ["hand-paper", "hand"], ["hand-rock", "hand-back-fist"], ["allergies", "hand-dots"], ["fist-raised", "hand-fist"], ["hand-holding-usd", "hand-holding-dollar"], ["hand-holding-water", "hand-holding-droplet"], ["sign-language", "hands"], ["signing", "hands"], ["american-sign-language-interpreting", "hands-asl-interpreting"], ["asl-interpreting", "hands-asl-interpreting"], ["hands-american-sign-language-interpreting", "hands-asl-interpreting"], ["hands-wash", "hands-bubbles"], ["praying-hands", "hands-praying"], ["hands-helping", "handshake-angle"], ["handshake-alt", "handshake-simple"], ["handshake-alt-slash", "handshake-simple-slash"], ["hdd", "hard-drive"], ["header", "heading"], ["headphones-alt", "headphones-simple"], ["heart-broken", "heart-crack"], ["heartbeat", "heart-pulse"], ["hard-hat", "helmet-safety"], ["hat-hard", "helmet-safety"], ["hospital-alt", "hospital"], ["hospital-wide", "hospital"], ["hot-tub", "hot-tub-person"], ["hourglass-empty", "hourglass"], ["hourglass-3", "hourglass-end"], ["hourglass-2", "hourglass-half"], ["hourglass-1", "hourglass-start"], ["home", "house"], ["home-alt", "house"], ["home-lg-alt", "house"], ["home-lg", "house-chimney"], ["house-damage", "house-chimney-crack"], ["clinic-medical", "house-chimney-medical"], ["laptop-house", "house-laptop"], ["home-user", "house-user"], ["hryvnia", "hryvnia-sign"], ["heart-music-camera-bolt", "icons"], ["drivers-license", "id-card"], ["id-card-alt", "id-card-clip"], ["portrait", "image-portrait"], ["indian-rupee", "indian-rupee-sign"], ["inr", "indian-rupee-sign"], ["fighter-jet", "jet-fighter"], ["first-aid", "kit-medical"], ["landmark-alt", "landmark-dome"], ["long-arrow-alt-left", "left-long"], ["arrows-alt-h", "left-right"], ["chain", "link"], ["chain-broken", "link-slash"], ["chain-slash", "link-slash"], ["unlink", "link-slash"], ["list-squares", "list"], ["tasks", "list-check"], ["list-1-2", "list-ol"], ["list-numeric", "list-ol"], ["list-dots", "list-ul"], ["location", "location-crosshairs"], ["map-marker-alt", "location-dot"], ["map-marker", "location-pin"], ["search", "magnifying-glass"], ["search-dollar", "magnifying-glass-dollar"], ["search-location", "magnifying-glass-location"], ["search-minus", "magnifying-glass-minus"], ["search-plus", "magnifying-glass-plus"], ["map-marked", "map-location"], ["map-marked-alt", "map-location-dot"], ["mars-stroke-h", "mars-stroke-right"], ["mars-stroke-v", "mars-stroke-up"], ["glass-martini-alt", "martini-glass"], ["cocktail", "martini-glass-citrus"], ["glass-martini", "martini-glass-empty"], ["theater-masks", "masks-theater"], ["expand-arrows-alt", "maximize"], ["comment-alt", "message"], ["microphone-alt", "microphone-lines"], ["microphone-alt-slash", "microphone-lines-slash"], ["compress-arrows-alt", "minimize"], ["subtract", "minus"], ["mobile-android", "mobile"], ["mobile-phone", "mobile"], ["mobile-android-alt", "mobile-screen"], ["mobile-alt", "mobile-screen-button"], ["money-bill-alt", "money-bill-1"], ["money-bill-wave-alt", "money-bill-1-wave"], ["money-check-alt", "money-check-dollar"], ["coffee", "mug-saucer"], ["sticky-note", "note-sticky"], ["dedent", "outdent"], ["paint-brush", "paintbrush"], ["file-clipboard", "paste"], ["pen-alt", "pen-clip"], ["pencil-ruler", "pen-ruler"], ["edit", "pen-to-square"], ["pencil-alt", "pencil"], ["people-arrows-left-right", "people-arrows"], ["people-carry", "people-carry-box"], ["percentage", "percent"], ["male", "person"], ["biking", "person-biking"], ["digging", "person-digging"], ["diagnoses", "person-dots-from-line"], ["female", "person-dress"], ["hiking", "person-hiking"], ["pray", "person-praying"], ["running", "person-running"], ["skating", "person-skating"], ["skiing", "person-skiing"], ["skiing-nordic", "person-skiing-nordic"], ["snowboarding", "person-snowboarding"], ["swimmer", "person-swimming"], ["walking", "person-walking"], ["blind", "person-walking-with-cane"], ["phone-alt", "phone-flip"], ["volume-control-phone", "phone-volume"], ["photo-video", "photo-film"], ["add", "plus"], ["poo-bolt", "poo-storm"], ["prescription-bottle-alt", "prescription-bottle-medical"], ["quote-left-alt", "quote-left"], ["quote-right-alt", "quote-right"], ["ad", "rectangle-ad"], ["list-alt", "rectangle-list"], ["rectangle-times", "rectangle-xmark"], ["times-rectangle", "rectangle-xmark"], ["window-close", "rectangle-xmark"], ["mail-reply", "reply"], ["mail-reply-all", "reply-all"], ["sign-out-alt", "right-from-bracket"], ["exchange-alt", "right-left"], ["long-arrow-alt-right", "right-long"], ["sign-in-alt", "right-to-bracket"], ["sync-alt", "rotate"], ["rotate-back", "rotate-left"], ["rotate-backward", "rotate-left"], ["undo-alt", "rotate-left"], ["redo-alt", "rotate-right"], ["rotate-forward", "rotate-right"], ["feed", "rss"], ["rouble", "ruble-sign"], ["rub", "ruble-sign"], ["ruble", "ruble-sign"], ["rupee", "rupee-sign"], ["balance-scale", "scale-balanced"], ["balance-scale-left", "scale-unbalanced"], ["balance-scale-right", "scale-unbalanced-flip"], ["cut", "scissors"], ["tools", "screwdriver-wrench"], ["torah", "scroll-torah"], ["sprout", "seedling"], ["triangle-circle-square", "shapes"], ["arrow-turn-right", "share"], ["mail-forward", "share"], ["share-square", "share-from-square"], ["share-alt", "share-nodes"], ["ils", "shekel-sign"], ["shekel", "shekel-sign"], ["sheqel", "shekel-sign"], ["sheqel-sign", "shekel-sign"], ["shield-blank", "shield"], ["shield-alt", "shield-halved"], ["t-shirt", "shirt"], ["tshirt", "shirt"], ["store-alt", "shop"], ["store-alt-slash", "shop-slash"], ["random", "shuffle"], ["space-shuttle", "shuttle-space"], ["sign", "sign-hanging"], ["signal-5", "signal"], ["signal-perfect", "signal"], ["map-signs", "signs-post"], ["sliders-h", "sliders"], ["unsorted", "sort"], ["sort-desc", "sort-down"], ["sort-asc", "sort-up"], ["pastafarianism", "spaghetti-monster-flying"], ["utensil-spoon", "spoon"], ["air-freshener", "spray-can-sparkles"], ["external-link-square", "square-arrow-up-right"], ["caret-square-down", "square-caret-down"], ["caret-square-left", "square-caret-left"], ["caret-square-right", "square-caret-right"], ["caret-square-up", "square-caret-up"], ["check-square", "square-check"], ["envelope-square", "square-envelope"], ["h-square", "square-h"], ["minus-square", "square-minus"], ["parking", "square-parking"], ["pen-square", "square-pen"], ["pencil-square", "square-pen"], ["phone-square", "square-phone"], ["phone-square-alt", "square-phone-flip"], ["plus-square", "square-plus"], ["poll-h", "square-poll-horizontal"], ["poll", "square-poll-vertical"], ["square-root-alt", "square-root-variable"], ["rss-square", "square-rss"], ["share-alt-square", "square-share-nodes"], ["external-link-square-alt", "square-up-right"], ["times-square", "square-xmark"], ["xmark-square", "square-xmark"], ["rod-asclepius", "staff-snake"], ["rod-snake", "staff-snake"], ["staff-aesculapius", "staff-snake"], ["star-half-alt", "star-half-stroke"], ["gbp", "sterling-sign"], ["pound-sign", "sterling-sign"], ["medkit", "suitcase-medical"], ["th", "table-cells"], ["th-large", "table-cells-large"], ["columns", "table-columns"], ["th-list", "table-list"], ["ping-pong-paddle-ball", "table-tennis-paddle-ball"], ["table-tennis", "table-tennis-paddle-ball"], ["tablet-android", "tablet"], ["tablet-alt", "tablet-screen-button"], ["digital-tachograph", "tachograph-digital"], ["cab", "taxi"], ["temperature-down", "temperature-arrow-down"], ["temperature-up", "temperature-arrow-up"], ["temperature-0", "temperature-empty"], ["thermometer-0", "temperature-empty"], ["thermometer-empty", "temperature-empty"], ["temperature-4", "temperature-full"], ["thermometer-4", "temperature-full"], ["thermometer-full", "temperature-full"], ["temperature-2", "temperature-half"], ["thermometer-2", "temperature-half"], ["thermometer-half", "temperature-half"], ["temperature-1", "temperature-quarter"], ["thermometer-1", "temperature-quarter"], ["thermometer-quarter", "temperature-quarter"], ["temperature-3", "temperature-three-quarters"], ["thermometer-3", "temperature-three-quarters"], ["thermometer-three-quarters", "temperature-three-quarters"], ["tenge", "tenge-sign"], ["remove-format", "text-slash"], ["thumb-tack", "thumbtack"], ["ticket-alt", "ticket-simple"], ["broadcast-tower", "tower-broadcast"], ["subway", "train-subway"], ["transgender-alt", "transgender"], ["trash-restore", "trash-arrow-up"], ["trash-alt", "trash-can"], ["trash-restore-alt", "trash-can-arrow-up"], ["exclamation-triangle", "triangle-exclamation"], ["warning", "triangle-exclamation"], ["shipping-fast", "truck-fast"], ["ambulance", "truck-medical"], ["truck-loading", "truck-ramp-box"], ["teletype", "tty"], ["try", "turkish-lira-sign"], ["turkish-lira", "turkish-lira-sign"], ["level-down-alt", "turn-down"], ["level-up-alt", "turn-up"], ["television", "tv"], ["tv-alt", "tv"], ["unlock-alt", "unlock-keyhole"], ["arrows-alt-v", "up-down"], ["arrows-alt", "up-down-left-right"], ["long-arrow-alt-up", "up-long"], ["expand-alt", "up-right-and-down-left-from-center"], ["external-link-alt", "up-right-from-square"], ["user-md", "user-doctor"], ["user-cog", "user-gear"], ["user-friends", "user-group"], ["user-alt", "user-large"], ["user-alt-slash", "user-large-slash"], ["user-edit", "user-pen"], ["user-times", "user-xmark"], ["users-cog", "users-gear"], ["cutlery", "utensils"], ["shuttle-van", "van-shuttle"], ["video-camera", "video"], ["volleyball-ball", "volleyball"], ["volume-up", "volume-high"], ["volume-down", "volume-low"], ["volume-mute", "volume-xmark"], ["volume-times", "volume-xmark"], ["magic", "wand-magic"], ["magic-wand-sparkles", "wand-magic-sparkles"], ["ladder-water", "water-ladder"], ["swimming-pool", "water-ladder"], ["weight", "weight-scale"], ["wheat-alt", "wheat-awn"], ["wheelchair-alt", "wheelchair-move"], ["glass-whiskey", "whiskey-glass"], ["wifi-3", "wifi"], ["wifi-strong", "wifi"], ["wine-glass-alt", "wine-glass-empty"], ["krw", "won-sign"], ["won", "won-sign"], ["close", "xmark"], ["multiply", "xmark"], ["remove", "xmark"], ["times", "xmark"], ["cny", "yen-sign"], ["jpy", "yen-sign"], ["rmb", "yen-sign"], ["yen", "yen-sign"]] - ); - const metadata = /* @__PURE__ */ new Map( - [["0", ["0", false]], ["1", ["1", false]], ["2", ["2", false]], ["3", ["3", false]], ["4", ["4", false]], ["5", ["5", false]], ["6", ["6", false]], ["7", ["7", false]], ["8", ["8", false]], ["9", ["9", false]], ["a", ["A", false]], ["address-book", ["\uF2B9", true]], ["address-card", ["\uF2BB", true]], ["align-center", ["\uF037", false]], ["align-justify", ["\uF039", false]], ["align-left", ["\uF036", false]], ["align-right", ["\uF038", false]], ["anchor", ["\uF13D", false]], ["anchor-circle-check", ["\uE4AA", false]], ["anchor-circle-exclamation", ["\uE4AB", false]], ["anchor-circle-xmark", ["\uE4AC", false]], ["anchor-lock", ["\uE4AD", false]], ["angle-down", ["\uF107", false]], ["angle-left", ["\uF104", false]], ["angle-right", ["\uF105", false]], ["angle-up", ["\uF106", false]], ["angles-down", ["\uF103", false]], ["angles-left", ["\uF100", false]], ["angles-right", ["\uF101", false]], ["angles-up", ["\uF102", false]], ["ankh", ["\uF644", false]], ["apple-whole", ["\uF5D1", false]], ["archway", ["\uF557", false]], ["arrow-down", ["\uF063", false]], ["arrow-down-1-9", ["\uF162", false]], ["arrow-down-9-1", ["\uF886", false]], ["arrow-down-a-z", ["\uF15D", false]], ["arrow-down-long", ["\uF175", false]], ["arrow-down-short-wide", ["\uF884", false]], ["arrow-down-up-across-line", ["\uE4AF", false]], ["arrow-down-up-lock", ["\uE4B0", false]], ["arrow-down-wide-short", ["\uF160", false]], ["arrow-down-z-a", ["\uF881", false]], ["arrow-left", ["\uF060", false]], ["arrow-left-long", ["\uF177", false]], ["arrow-pointer", ["\uF245", false]], ["arrow-right", ["\uF061", false]], ["arrow-right-arrow-left", ["\uF0EC", false]], ["arrow-right-from-bracket", ["\uF08B", false]], ["arrow-right-long", ["\uF178", false]], ["arrow-right-to-bracket", ["\uF090", false]], ["arrow-right-to-city", ["\uE4B3", false]], ["arrow-rotate-left", ["\uF0E2", false]], ["arrow-rotate-right", ["\uF01E", false]], ["arrow-trend-down", ["\uE097", false]], ["arrow-trend-up", ["\uE098", false]], ["arrow-turn-down", ["\uF149", false]], ["arrow-turn-up", ["\uF148", false]], ["arrow-up", ["\uF062", false]], ["arrow-up-1-9", ["\uF163", false]], ["arrow-up-9-1", ["\uF887", false]], ["arrow-up-a-z", ["\uF15E", false]], ["arrow-up-from-bracket", ["\uE09A", false]], ["arrow-up-from-ground-water", ["\uE4B5", false]], ["arrow-up-from-water-pump", ["\uE4B6", false]], ["arrow-up-long", ["\uF176", false]], ["arrow-up-right-dots", ["\uE4B7", false]], ["arrow-up-right-from-square", ["\uF08E", false]], ["arrow-up-short-wide", ["\uF885", false]], ["arrow-up-wide-short", ["\uF161", false]], ["arrow-up-z-a", ["\uF882", false]], ["arrows-down-to-line", ["\uE4B8", false]], ["arrows-down-to-people", ["\uE4B9", false]], ["arrows-left-right", ["\uF07E", false]], ["arrows-left-right-to-line", ["\uE4BA", false]], ["arrows-rotate", ["\uF021", false]], ["arrows-spin", ["\uE4BB", false]], ["arrows-split-up-and-left", ["\uE4BC", false]], ["arrows-to-circle", ["\uE4BD", false]], ["arrows-to-dot", ["\uE4BE", false]], ["arrows-to-eye", ["\uE4BF", false]], ["arrows-turn-right", ["\uE4C0", false]], ["arrows-turn-to-dots", ["\uE4C1", false]], ["arrows-up-down", ["\uF07D", false]], ["arrows-up-down-left-right", ["\uF047", false]], ["arrows-up-to-line", ["\uE4C2", false]], ["asterisk", ["*", false]], ["at", ["@", false]], ["atom", ["\uF5D2", false]], ["audio-description", ["\uF29E", false]], ["austral-sign", ["\uE0A9", false]], ["award", ["\uF559", false]], ["b", ["B", false]], ["baby", ["\uF77C", false]], ["baby-carriage", ["\uF77D", false]], ["backward", ["\uF04A", false]], ["backward-fast", ["\uF049", false]], ["backward-step", ["\uF048", false]], ["bacon", ["\uF7E5", false]], ["bacteria", ["\uE059", false]], ["bacterium", ["\uE05A", false]], ["bag-shopping", ["\uF290", false]], ["bahai", ["\uF666", false]], ["baht-sign", ["\uE0AC", false]], ["ban", ["\uF05E", false]], ["ban-smoking", ["\uF54D", false]], ["bandage", ["\uF462", false]], ["bangladeshi-taka-sign", ["\uE2E6", false]], ["barcode", ["\uF02A", false]], ["bars", ["\uF0C9", false]], ["bars-progress", ["\uF828", false]], ["bars-staggered", ["\uF550", false]], ["baseball", ["\uF433", false]], ["baseball-bat-ball", ["\uF432", false]], ["basket-shopping", ["\uF291", false]], ["basketball", ["\uF434", false]], ["bath", ["\uF2CD", false]], ["battery-empty", ["\uF244", false]], ["battery-full", ["\uF240", false]], ["battery-half", ["\uF242", false]], ["battery-quarter", ["\uF243", false]], ["battery-three-quarters", ["\uF241", false]], ["bed", ["\uF236", false]], ["bed-pulse", ["\uF487", false]], ["beer-mug-empty", ["\uF0FC", false]], ["bell", ["\uF0F3", true]], ["bell-concierge", ["\uF562", false]], ["bell-slash", ["\uF1F6", true]], ["bezier-curve", ["\uF55B", false]], ["bicycle", ["\uF206", false]], ["binoculars", ["\uF1E5", false]], ["biohazard", ["\uF780", false]], ["bitcoin-sign", ["\uE0B4", false]], ["blender", ["\uF517", false]], ["blender-phone", ["\uF6B6", false]], ["blog", ["\uF781", false]], ["bold", ["\uF032", false]], ["bolt", ["\uF0E7", false]], ["bolt-lightning", ["\uE0B7", false]], ["bomb", ["\uF1E2", false]], ["bone", ["\uF5D7", false]], ["bong", ["\uF55C", false]], ["book", ["\uF02D", false]], ["book-atlas", ["\uF558", false]], ["book-bible", ["\uF647", false]], ["book-bookmark", ["\uE0BB", false]], ["book-journal-whills", ["\uF66A", false]], ["book-medical", ["\uF7E6", false]], ["book-open", ["\uF518", false]], ["book-open-reader", ["\uF5DA", false]], ["book-quran", ["\uF687", false]], ["book-skull", ["\uF6B7", false]], ["book-tanakh", ["\uF827", false]], ["bookmark", ["\uF02E", true]], ["border-all", ["\uF84C", false]], ["border-none", ["\uF850", false]], ["border-top-left", ["\uF853", false]], ["bore-hole", ["\uE4C3", false]], ["bottle-droplet", ["\uE4C4", false]], ["bottle-water", ["\uE4C5", false]], ["bowl-food", ["\uE4C6", false]], ["bowl-rice", ["\uE2EB", false]], ["bowling-ball", ["\uF436", false]], ["box", ["\uF466", false]], ["box-archive", ["\uF187", false]], ["box-open", ["\uF49E", false]], ["box-tissue", ["\uE05B", false]], ["boxes-packing", ["\uE4C7", false]], ["boxes-stacked", ["\uF468", false]], ["braille", ["\uF2A1", false]], ["brain", ["\uF5DC", false]], ["brazilian-real-sign", ["\uE46C", false]], ["bread-slice", ["\uF7EC", false]], ["bridge", ["\uE4C8", false]], ["bridge-circle-check", ["\uE4C9", false]], ["bridge-circle-exclamation", ["\uE4CA", false]], ["bridge-circle-xmark", ["\uE4CB", false]], ["bridge-lock", ["\uE4CC", false]], ["bridge-water", ["\uE4CE", false]], ["briefcase", ["\uF0B1", false]], ["briefcase-medical", ["\uF469", false]], ["broom", ["\uF51A", false]], ["broom-ball", ["\uF458", false]], ["brush", ["\uF55D", false]], ["bucket", ["\uE4CF", false]], ["bug", ["\uF188", false]], ["bug-slash", ["\uE490", false]], ["bugs", ["\uE4D0", false]], ["building", ["\uF1AD", true]], ["building-circle-arrow-right", ["\uE4D1", false]], ["building-circle-check", ["\uE4D2", false]], ["building-circle-exclamation", ["\uE4D3", false]], ["building-circle-xmark", ["\uE4D4", false]], ["building-columns", ["\uF19C", false]], ["building-flag", ["\uE4D5", false]], ["building-lock", ["\uE4D6", false]], ["building-ngo", ["\uE4D7", false]], ["building-shield", ["\uE4D8", false]], ["building-un", ["\uE4D9", false]], ["building-user", ["\uE4DA", false]], ["building-wheat", ["\uE4DB", false]], ["bullhorn", ["\uF0A1", false]], ["bullseye", ["\uF140", false]], ["burger", ["\uF805", false]], ["burst", ["\uE4DC", false]], ["bus", ["\uF207", false]], ["bus-simple", ["\uF55E", false]], ["business-time", ["\uF64A", false]], ["c", ["C", false]], ["cable-car", ["\uF7DA", false]], ["cake-candles", ["\uF1FD", false]], ["calculator", ["\uF1EC", false]], ["calendar", ["\uF133", true]], ["calendar-check", ["\uF274", true]], ["calendar-day", ["\uF783", false]], ["calendar-days", ["\uF073", true]], ["calendar-minus", ["\uF272", true]], ["calendar-plus", ["\uF271", true]], ["calendar-week", ["\uF784", false]], ["calendar-xmark", ["\uF273", true]], ["camera", ["\uF030", false]], ["camera-retro", ["\uF083", false]], ["camera-rotate", ["\uE0D8", false]], ["campground", ["\uF6BB", false]], ["candy-cane", ["\uF786", false]], ["cannabis", ["\uF55F", false]], ["capsules", ["\uF46B", false]], ["car", ["\uF1B9", false]], ["car-battery", ["\uF5DF", false]], ["car-burst", ["\uF5E1", false]], ["car-on", ["\uE4DD", false]], ["car-rear", ["\uF5DE", false]], ["car-side", ["\uF5E4", false]], ["car-tunnel", ["\uE4DE", false]], ["caravan", ["\uF8FF", false]], ["caret-down", ["\uF0D7", false]], ["caret-left", ["\uF0D9", false]], ["caret-right", ["\uF0DA", false]], ["caret-up", ["\uF0D8", false]], ["carrot", ["\uF787", false]], ["cart-arrow-down", ["\uF218", false]], ["cart-flatbed", ["\uF474", false]], ["cart-flatbed-suitcase", ["\uF59D", false]], ["cart-plus", ["\uF217", false]], ["cart-shopping", ["\uF07A", false]], ["cash-register", ["\uF788", false]], ["cat", ["\uF6BE", false]], ["cedi-sign", ["\uE0DF", false]], ["cent-sign", ["\uE3F5", false]], ["certificate", ["\uF0A3", false]], ["chair", ["\uF6C0", false]], ["chalkboard", ["\uF51B", false]], ["chalkboard-user", ["\uF51C", false]], ["champagne-glasses", ["\uF79F", false]], ["charging-station", ["\uF5E7", false]], ["chart-area", ["\uF1FE", false]], ["chart-bar", ["\uF080", true]], ["chart-column", ["\uE0E3", false]], ["chart-gantt", ["\uE0E4", false]], ["chart-line", ["\uF201", false]], ["chart-pie", ["\uF200", false]], ["chart-simple", ["\uE473", false]], ["check", ["\uF00C", false]], ["check-double", ["\uF560", false]], ["check-to-slot", ["\uF772", false]], ["cheese", ["\uF7EF", false]], ["chess", ["\uF439", false]], ["chess-bishop", ["\uF43A", true]], ["chess-board", ["\uF43C", false]], ["chess-king", ["\uF43F", true]], ["chess-knight", ["\uF441", true]], ["chess-pawn", ["\uF443", true]], ["chess-queen", ["\uF445", true]], ["chess-rook", ["\uF447", true]], ["chevron-down", ["\uF078", false]], ["chevron-left", ["\uF053", false]], ["chevron-right", ["\uF054", false]], ["chevron-up", ["\uF077", false]], ["child", ["\uF1AE", false]], ["child-combatant", ["\uE4E0", false]], ["child-dress", ["\uE59C", false]], ["child-reaching", ["\uE59D", false]], ["children", ["\uE4E1", false]], ["church", ["\uF51D", false]], ["circle", ["\uF111", true]], ["circle-arrow-down", ["\uF0AB", false]], ["circle-arrow-left", ["\uF0A8", false]], ["circle-arrow-right", ["\uF0A9", false]], ["circle-arrow-up", ["\uF0AA", false]], ["circle-check", ["\uF058", true]], ["circle-chevron-down", ["\uF13A", false]], ["circle-chevron-left", ["\uF137", false]], ["circle-chevron-right", ["\uF138", false]], ["circle-chevron-up", ["\uF139", false]], ["circle-dollar-to-slot", ["\uF4B9", false]], ["circle-dot", ["\uF192", true]], ["circle-down", ["\uF358", true]], ["circle-exclamation", ["\uF06A", false]], ["circle-h", ["\uF47E", false]], ["circle-half-stroke", ["\uF042", false]], ["circle-info", ["\uF05A", false]], ["circle-left", ["\uF359", true]], ["circle-minus", ["\uF056", false]], ["circle-nodes", ["\uE4E2", false]], ["circle-notch", ["\uF1CE", false]], ["circle-pause", ["\uF28B", true]], ["circle-play", ["\uF144", true]], ["circle-plus", ["\uF055", false]], ["circle-question", ["\uF059", true]], ["circle-radiation", ["\uF7BA", false]], ["circle-right", ["\uF35A", true]], ["circle-stop", ["\uF28D", true]], ["circle-up", ["\uF35B", true]], ["circle-user", ["\uF2BD", true]], ["circle-xmark", ["\uF057", true]], ["city", ["\uF64F", false]], ["clapperboard", ["\uE131", false]], ["clipboard", ["\uF328", true]], ["clipboard-check", ["\uF46C", false]], ["clipboard-list", ["\uF46D", false]], ["clipboard-question", ["\uE4E3", false]], ["clipboard-user", ["\uF7F3", false]], ["clock", ["\uF017", true]], ["clock-rotate-left", ["\uF1DA", false]], ["clone", ["\uF24D", true]], ["closed-captioning", ["\uF20A", true]], ["cloud", ["\uF0C2", false]], ["cloud-arrow-down", ["\uF0ED", false]], ["cloud-arrow-up", ["\uF0EE", false]], ["cloud-bolt", ["\uF76C", false]], ["cloud-meatball", ["\uF73B", false]], ["cloud-moon", ["\uF6C3", false]], ["cloud-moon-rain", ["\uF73C", false]], ["cloud-rain", ["\uF73D", false]], ["cloud-showers-heavy", ["\uF740", false]], ["cloud-showers-water", ["\uE4E4", false]], ["cloud-sun", ["\uF6C4", false]], ["cloud-sun-rain", ["\uF743", false]], ["clover", ["\uE139", false]], ["code", ["\uF121", false]], ["code-branch", ["\uF126", false]], ["code-commit", ["\uF386", false]], ["code-compare", ["\uE13A", false]], ["code-fork", ["\uE13B", false]], ["code-merge", ["\uF387", false]], ["code-pull-request", ["\uE13C", false]], ["coins", ["\uF51E", false]], ["colon-sign", ["\uE140", false]], ["comment", ["\uF075", true]], ["comment-dollar", ["\uF651", false]], ["comment-dots", ["\uF4AD", true]], ["comment-medical", ["\uF7F5", false]], ["comment-slash", ["\uF4B3", false]], ["comment-sms", ["\uF7CD", false]], ["comments", ["\uF086", true]], ["comments-dollar", ["\uF653", false]], ["compact-disc", ["\uF51F", false]], ["compass", ["\uF14E", true]], ["compass-drafting", ["\uF568", false]], ["compress", ["\uF066", false]], ["computer", ["\uE4E5", false]], ["computer-mouse", ["\uF8CC", false]], ["cookie", ["\uF563", false]], ["cookie-bite", ["\uF564", false]], ["copy", ["\uF0C5", true]], ["copyright", ["\uF1F9", true]], ["couch", ["\uF4B8", false]], ["cow", ["\uF6C8", false]], ["credit-card", ["\uF09D", true]], ["crop", ["\uF125", false]], ["crop-simple", ["\uF565", false]], ["cross", ["\uF654", false]], ["crosshairs", ["\uF05B", false]], ["crow", ["\uF520", false]], ["crown", ["\uF521", false]], ["crutch", ["\uF7F7", false]], ["cruzeiro-sign", ["\uE152", false]], ["cube", ["\uF1B2", false]], ["cubes", ["\uF1B3", false]], ["cubes-stacked", ["\uE4E6", false]], ["d", ["D", false]], ["database", ["\uF1C0", false]], ["delete-left", ["\uF55A", false]], ["democrat", ["\uF747", false]], ["desktop", ["\uF390", false]], ["dharmachakra", ["\uF655", false]], ["diagram-next", ["\uE476", false]], ["diagram-predecessor", ["\uE477", false]], ["diagram-project", ["\uF542", false]], ["diagram-successor", ["\uE47A", false]], ["diamond", ["\uF219", false]], ["diamond-turn-right", ["\uF5EB", false]], ["dice", ["\uF522", false]], ["dice-d20", ["\uF6CF", false]], ["dice-d6", ["\uF6D1", false]], ["dice-five", ["\uF523", false]], ["dice-four", ["\uF524", false]], ["dice-one", ["\uF525", false]], ["dice-six", ["\uF526", false]], ["dice-three", ["\uF527", false]], ["dice-two", ["\uF528", false]], ["disease", ["\uF7FA", false]], ["display", ["\uE163", false]], ["divide", ["\uF529", false]], ["dna", ["\uF471", false]], ["dog", ["\uF6D3", false]], ["dollar-sign", ["$", false]], ["dolly", ["\uF472", false]], ["dong-sign", ["\uE169", false]], ["door-closed", ["\uF52A", false]], ["door-open", ["\uF52B", false]], ["dove", ["\uF4BA", false]], ["down-left-and-up-right-to-center", ["\uF422", false]], ["down-long", ["\uF309", false]], ["download", ["\uF019", false]], ["dragon", ["\uF6D5", false]], ["draw-polygon", ["\uF5EE", false]], ["droplet", ["\uF043", false]], ["droplet-slash", ["\uF5C7", false]], ["drum", ["\uF569", false]], ["drum-steelpan", ["\uF56A", false]], ["drumstick-bite", ["\uF6D7", false]], ["dumbbell", ["\uF44B", false]], ["dumpster", ["\uF793", false]], ["dumpster-fire", ["\uF794", false]], ["dungeon", ["\uF6D9", false]], ["e", ["E", false]], ["ear-deaf", ["\uF2A4", false]], ["ear-listen", ["\uF2A2", false]], ["earth-africa", ["\uF57C", false]], ["earth-americas", ["\uF57D", false]], ["earth-asia", ["\uF57E", false]], ["earth-europe", ["\uF7A2", false]], ["earth-oceania", ["\uE47B", false]], ["egg", ["\uF7FB", false]], ["eject", ["\uF052", false]], ["elevator", ["\uE16D", false]], ["ellipsis", ["\uF141", false]], ["ellipsis-vertical", ["\uF142", false]], ["envelope", ["\uF0E0", true]], ["envelope-circle-check", ["\uE4E8", false]], ["envelope-open", ["\uF2B6", true]], ["envelope-open-text", ["\uF658", false]], ["envelopes-bulk", ["\uF674", false]], ["equals", ["=", false]], ["eraser", ["\uF12D", false]], ["ethernet", ["\uF796", false]], ["euro-sign", ["\uF153", false]], ["exclamation", ["!", false]], ["expand", ["\uF065", false]], ["explosion", ["\uE4E9", false]], ["eye", ["\uF06E", true]], ["eye-dropper", ["\uF1FB", false]], ["eye-low-vision", ["\uF2A8", false]], ["eye-slash", ["\uF070", true]], ["f", ["F", false]], ["face-angry", ["\uF556", true]], ["face-dizzy", ["\uF567", true]], ["face-flushed", ["\uF579", true]], ["face-frown", ["\uF119", true]], ["face-frown-open", ["\uF57A", true]], ["face-grimace", ["\uF57F", true]], ["face-grin", ["\uF580", true]], ["face-grin-beam", ["\uF582", true]], ["face-grin-beam-sweat", ["\uF583", true]], ["face-grin-hearts", ["\uF584", true]], ["face-grin-squint", ["\uF585", true]], ["face-grin-squint-tears", ["\uF586", true]], ["face-grin-stars", ["\uF587", true]], ["face-grin-tears", ["\uF588", true]], ["face-grin-tongue", ["\uF589", true]], ["face-grin-tongue-squint", ["\uF58A", true]], ["face-grin-tongue-wink", ["\uF58B", true]], ["face-grin-wide", ["\uF581", true]], ["face-grin-wink", ["\uF58C", true]], ["face-kiss", ["\uF596", true]], ["face-kiss-beam", ["\uF597", true]], ["face-kiss-wink-heart", ["\uF598", true]], ["face-laugh", ["\uF599", true]], ["face-laugh-beam", ["\uF59A", true]], ["face-laugh-squint", ["\uF59B", true]], ["face-laugh-wink", ["\uF59C", true]], ["face-meh", ["\uF11A", true]], ["face-meh-blank", ["\uF5A4", true]], ["face-rolling-eyes", ["\uF5A5", true]], ["face-sad-cry", ["\uF5B3", true]], ["face-sad-tear", ["\uF5B4", true]], ["face-smile", ["\uF118", true]], ["face-smile-beam", ["\uF5B8", true]], ["face-smile-wink", ["\uF4DA", true]], ["face-surprise", ["\uF5C2", true]], ["face-tired", ["\uF5C8", true]], ["fan", ["\uF863", false]], ["faucet", ["\uE005", false]], ["faucet-drip", ["\uE006", false]], ["fax", ["\uF1AC", false]], ["feather", ["\uF52D", false]], ["feather-pointed", ["\uF56B", false]], ["ferry", ["\uE4EA", false]], ["file", ["\uF15B", true]], ["file-arrow-down", ["\uF56D", false]], ["file-arrow-up", ["\uF574", false]], ["file-audio", ["\uF1C7", true]], ["file-circle-check", ["\uE5A0", false]], ["file-circle-exclamation", ["\uE4EB", false]], ["file-circle-minus", ["\uE4ED", false]], ["file-circle-plus", ["\uE494", false]], ["file-circle-question", ["\uE4EF", false]], ["file-circle-xmark", ["\uE5A1", false]], ["file-code", ["\uF1C9", true]], ["file-contract", ["\uF56C", false]], ["file-csv", ["\uF6DD", false]], ["file-excel", ["\uF1C3", true]], ["file-export", ["\uF56E", false]], ["file-image", ["\uF1C5", true]], ["file-import", ["\uF56F", false]], ["file-invoice", ["\uF570", false]], ["file-invoice-dollar", ["\uF571", false]], ["file-lines", ["\uF15C", true]], ["file-medical", ["\uF477", false]], ["file-pdf", ["\uF1C1", true]], ["file-pen", ["\uF31C", false]], ["file-powerpoint", ["\uF1C4", true]], ["file-prescription", ["\uF572", false]], ["file-shield", ["\uE4F0", false]], ["file-signature", ["\uF573", false]], ["file-video", ["\uF1C8", true]], ["file-waveform", ["\uF478", false]], ["file-word", ["\uF1C2", true]], ["file-zipper", ["\uF1C6", true]], ["fill", ["\uF575", false]], ["fill-drip", ["\uF576", false]], ["film", ["\uF008", false]], ["filter", ["\uF0B0", false]], ["filter-circle-dollar", ["\uF662", false]], ["filter-circle-xmark", ["\uE17B", false]], ["fingerprint", ["\uF577", false]], ["fire", ["\uF06D", false]], ["fire-burner", ["\uE4F1", false]], ["fire-extinguisher", ["\uF134", false]], ["fire-flame-curved", ["\uF7E4", false]], ["fire-flame-simple", ["\uF46A", false]], ["fish", ["\uF578", false]], ["fish-fins", ["\uE4F2", false]], ["flag", ["\uF024", true]], ["flag-checkered", ["\uF11E", false]], ["flag-usa", ["\uF74D", false]], ["flask", ["\uF0C3", false]], ["flask-vial", ["\uE4F3", false]], ["floppy-disk", ["\uF0C7", true]], ["florin-sign", ["\uE184", false]], ["folder", ["\uF07B", true]], ["folder-closed", ["\uE185", true]], ["folder-minus", ["\uF65D", false]], ["folder-open", ["\uF07C", true]], ["folder-plus", ["\uF65E", false]], ["folder-tree", ["\uF802", false]], ["font", ["\uF031", false]], ["football", ["\uF44E", false]], ["forward", ["\uF04E", false]], ["forward-fast", ["\uF050", false]], ["forward-step", ["\uF051", false]], ["franc-sign", ["\uE18F", false]], ["frog", ["\uF52E", false]], ["futbol", ["\uF1E3", true]], ["g", ["G", false]], ["gamepad", ["\uF11B", false]], ["gas-pump", ["\uF52F", false]], ["gauge", ["\uF624", false]], ["gauge-high", ["\uF625", false]], ["gauge-simple", ["\uF629", false]], ["gauge-simple-high", ["\uF62A", false]], ["gavel", ["\uF0E3", false]], ["gear", ["\uF013", false]], ["gears", ["\uF085", false]], ["gem", ["\uF3A5", true]], ["genderless", ["\uF22D", false]], ["ghost", ["\uF6E2", false]], ["gift", ["\uF06B", false]], ["gifts", ["\uF79C", false]], ["glass-water", ["\uE4F4", false]], ["glass-water-droplet", ["\uE4F5", false]], ["glasses", ["\uF530", false]], ["globe", ["\uF0AC", false]], ["golf-ball-tee", ["\uF450", false]], ["gopuram", ["\uF664", false]], ["graduation-cap", ["\uF19D", false]], ["greater-than", [">", false]], ["greater-than-equal", ["\uF532", false]], ["grip", ["\uF58D", false]], ["grip-lines", ["\uF7A4", false]], ["grip-lines-vertical", ["\uF7A5", false]], ["grip-vertical", ["\uF58E", false]], ["group-arrows-rotate", ["\uE4F6", false]], ["guarani-sign", ["\uE19A", false]], ["guitar", ["\uF7A6", false]], ["gun", ["\uE19B", false]], ["h", ["H", false]], ["hammer", ["\uF6E3", false]], ["hamsa", ["\uF665", false]], ["hand", ["\uF256", true]], ["hand-back-fist", ["\uF255", true]], ["hand-dots", ["\uF461", false]], ["hand-fist", ["\uF6DE", false]], ["hand-holding", ["\uF4BD", false]], ["hand-holding-dollar", ["\uF4C0", false]], ["hand-holding-droplet", ["\uF4C1", false]], ["hand-holding-hand", ["\uE4F7", false]], ["hand-holding-heart", ["\uF4BE", false]], ["hand-holding-medical", ["\uE05C", false]], ["hand-lizard", ["\uF258", true]], ["hand-middle-finger", ["\uF806", false]], ["hand-peace", ["\uF25B", true]], ["hand-point-down", ["\uF0A7", true]], ["hand-point-left", ["\uF0A5", true]], ["hand-point-right", ["\uF0A4", true]], ["hand-point-up", ["\uF0A6", true]], ["hand-pointer", ["\uF25A", true]], ["hand-scissors", ["\uF257", true]], ["hand-sparkles", ["\uE05D", false]], ["hand-spock", ["\uF259", true]], ["handcuffs", ["\uE4F8", false]], ["hands", ["\uF2A7", false]], ["hands-asl-interpreting", ["\uF2A3", false]], ["hands-bound", ["\uE4F9", false]], ["hands-bubbles", ["\uE05E", false]], ["hands-clapping", ["\uE1A8", false]], ["hands-holding", ["\uF4C2", false]], ["hands-holding-child", ["\uE4FA", false]], ["hands-holding-circle", ["\uE4FB", false]], ["hands-praying", ["\uF684", false]], ["handshake", ["\uF2B5", true]], ["handshake-angle", ["\uF4C4", false]], ["handshake-simple", ["\uF4C6", false]], ["handshake-simple-slash", ["\uE05F", false]], ["handshake-slash", ["\uE060", false]], ["hanukiah", ["\uF6E6", false]], ["hard-drive", ["\uF0A0", true]], ["hashtag", ["#", false]], ["hat-cowboy", ["\uF8C0", false]], ["hat-cowboy-side", ["\uF8C1", false]], ["hat-wizard", ["\uF6E8", false]], ["head-side-cough", ["\uE061", false]], ["head-side-cough-slash", ["\uE062", false]], ["head-side-mask", ["\uE063", false]], ["head-side-virus", ["\uE064", false]], ["heading", ["\uF1DC", false]], ["headphones", ["\uF025", false]], ["headphones-simple", ["\uF58F", false]], ["headset", ["\uF590", false]], ["heart", ["\uF004", true]], ["heart-circle-bolt", ["\uE4FC", false]], ["heart-circle-check", ["\uE4FD", false]], ["heart-circle-exclamation", ["\uE4FE", false]], ["heart-circle-minus", ["\uE4FF", false]], ["heart-circle-plus", ["\uE500", false]], ["heart-circle-xmark", ["\uE501", false]], ["heart-crack", ["\uF7A9", false]], ["heart-pulse", ["\uF21E", false]], ["helicopter", ["\uF533", false]], ["helicopter-symbol", ["\uE502", false]], ["helmet-safety", ["\uF807", false]], ["helmet-un", ["\uE503", false]], ["highlighter", ["\uF591", false]], ["hill-avalanche", ["\uE507", false]], ["hill-rockslide", ["\uE508", false]], ["hippo", ["\uF6ED", false]], ["hockey-puck", ["\uF453", false]], ["holly-berry", ["\uF7AA", false]], ["horse", ["\uF6F0", false]], ["horse-head", ["\uF7AB", false]], ["hospital", ["\uF0F8", true]], ["hospital-user", ["\uF80D", false]], ["hot-tub-person", ["\uF593", false]], ["hotdog", ["\uF80F", false]], ["hotel", ["\uF594", false]], ["hourglass", ["\uF254", true]], ["hourglass-end", ["\uF253", false]], ["hourglass-half", ["\uF252", true]], ["hourglass-start", ["\uF251", false]], ["house", ["\uF015", false]], ["house-chimney", ["\uE3AF", false]], ["house-chimney-crack", ["\uF6F1", false]], ["house-chimney-medical", ["\uF7F2", false]], ["house-chimney-user", ["\uE065", false]], ["house-chimney-window", ["\uE00D", false]], ["house-circle-check", ["\uE509", false]], ["house-circle-exclamation", ["\uE50A", false]], ["house-circle-xmark", ["\uE50B", false]], ["house-crack", ["\uE3B1", false]], ["house-fire", ["\uE50C", false]], ["house-flag", ["\uE50D", false]], ["house-flood-water", ["\uE50E", false]], ["house-flood-water-circle-arrow-right", ["\uE50F", false]], ["house-laptop", ["\uE066", false]], ["house-lock", ["\uE510", false]], ["house-medical", ["\uE3B2", false]], ["house-medical-circle-check", ["\uE511", false]], ["house-medical-circle-exclamation", ["\uE512", false]], ["house-medical-circle-xmark", ["\uE513", false]], ["house-medical-flag", ["\uE514", false]], ["house-signal", ["\uE012", false]], ["house-tsunami", ["\uE515", false]], ["house-user", ["\uE1B0", false]], ["hryvnia-sign", ["\uF6F2", false]], ["hurricane", ["\uF751", false]], ["i", ["I", false]], ["i-cursor", ["\uF246", false]], ["ice-cream", ["\uF810", false]], ["icicles", ["\uF7AD", false]], ["icons", ["\uF86D", false]], ["id-badge", ["\uF2C1", true]], ["id-card", ["\uF2C2", true]], ["id-card-clip", ["\uF47F", false]], ["igloo", ["\uF7AE", false]], ["image", ["\uF03E", true]], ["image-portrait", ["\uF3E0", false]], ["images", ["\uF302", true]], ["inbox", ["\uF01C", false]], ["indent", ["\uF03C", false]], ["indian-rupee-sign", ["\uE1BC", false]], ["industry", ["\uF275", false]], ["infinity", ["\uF534", false]], ["info", ["\uF129", false]], ["italic", ["\uF033", false]], ["j", ["J", false]], ["jar", ["\uE516", false]], ["jar-wheat", ["\uE517", false]], ["jedi", ["\uF669", false]], ["jet-fighter", ["\uF0FB", false]], ["jet-fighter-up", ["\uE518", false]], ["joint", ["\uF595", false]], ["jug-detergent", ["\uE519", false]], ["k", ["K", false]], ["kaaba", ["\uF66B", false]], ["key", ["\uF084", false]], ["keyboard", ["\uF11C", true]], ["khanda", ["\uF66D", false]], ["kip-sign", ["\uE1C4", false]], ["kit-medical", ["\uF479", false]], ["kitchen-set", ["\uE51A", false]], ["kiwi-bird", ["\uF535", false]], ["l", ["L", false]], ["land-mine-on", ["\uE51B", false]], ["landmark", ["\uF66F", false]], ["landmark-dome", ["\uF752", false]], ["landmark-flag", ["\uE51C", false]], ["language", ["\uF1AB", false]], ["laptop", ["\uF109", false]], ["laptop-code", ["\uF5FC", false]], ["laptop-file", ["\uE51D", false]], ["laptop-medical", ["\uF812", false]], ["lari-sign", ["\uE1C8", false]], ["layer-group", ["\uF5FD", false]], ["leaf", ["\uF06C", false]], ["left-long", ["\uF30A", false]], ["left-right", ["\uF337", false]], ["lemon", ["\uF094", true]], ["less-than", ["<", false]], ["less-than-equal", ["\uF537", false]], ["life-ring", ["\uF1CD", true]], ["lightbulb", ["\uF0EB", true]], ["lines-leaning", ["\uE51E", false]], ["link", ["\uF0C1", false]], ["link-slash", ["\uF127", false]], ["lira-sign", ["\uF195", false]], ["list", ["\uF03A", false]], ["list-check", ["\uF0AE", false]], ["list-ol", ["\uF0CB", false]], ["list-ul", ["\uF0CA", false]], ["litecoin-sign", ["\uE1D3", false]], ["location-arrow", ["\uF124", false]], ["location-crosshairs", ["\uF601", false]], ["location-dot", ["\uF3C5", false]], ["location-pin", ["\uF041", false]], ["location-pin-lock", ["\uE51F", false]], ["lock", ["\uF023", false]], ["lock-open", ["\uF3C1", false]], ["locust", ["\uE520", false]], ["lungs", ["\uF604", false]], ["lungs-virus", ["\uE067", false]], ["m", ["M", false]], ["magnet", ["\uF076", false]], ["magnifying-glass", ["\uF002", false]], ["magnifying-glass-arrow-right", ["\uE521", false]], ["magnifying-glass-chart", ["\uE522", false]], ["magnifying-glass-dollar", ["\uF688", false]], ["magnifying-glass-location", ["\uF689", false]], ["magnifying-glass-minus", ["\uF010", false]], ["magnifying-glass-plus", ["\uF00E", false]], ["manat-sign", ["\uE1D5", false]], ["map", ["\uF279", true]], ["map-location", ["\uF59F", false]], ["map-location-dot", ["\uF5A0", false]], ["map-pin", ["\uF276", false]], ["marker", ["\uF5A1", false]], ["mars", ["\uF222", false]], ["mars-and-venus", ["\uF224", false]], ["mars-and-venus-burst", ["\uE523", false]], ["mars-double", ["\uF227", false]], ["mars-stroke", ["\uF229", false]], ["mars-stroke-right", ["\uF22B", false]], ["mars-stroke-up", ["\uF22A", false]], ["martini-glass", ["\uF57B", false]], ["martini-glass-citrus", ["\uF561", false]], ["martini-glass-empty", ["\uF000", false]], ["mask", ["\uF6FA", false]], ["mask-face", ["\uE1D7", false]], ["mask-ventilator", ["\uE524", false]], ["masks-theater", ["\uF630", false]], ["mattress-pillow", ["\uE525", false]], ["maximize", ["\uF31E", false]], ["medal", ["\uF5A2", false]], ["memory", ["\uF538", false]], ["menorah", ["\uF676", false]], ["mercury", ["\uF223", false]], ["message", ["\uF27A", true]], ["meteor", ["\uF753", false]], ["microchip", ["\uF2DB", false]], ["microphone", ["\uF130", false]], ["microphone-lines", ["\uF3C9", false]], ["microphone-lines-slash", ["\uF539", false]], ["microphone-slash", ["\uF131", false]], ["microscope", ["\uF610", false]], ["mill-sign", ["\uE1ED", false]], ["minimize", ["\uF78C", false]], ["minus", ["\uF068", false]], ["mitten", ["\uF7B5", false]], ["mobile", ["\uF3CE", false]], ["mobile-button", ["\uF10B", false]], ["mobile-retro", ["\uE527", false]], ["mobile-screen", ["\uF3CF", false]], ["mobile-screen-button", ["\uF3CD", false]], ["money-bill", ["\uF0D6", false]], ["money-bill-1", ["\uF3D1", true]], ["money-bill-1-wave", ["\uF53B", false]], ["money-bill-transfer", ["\uE528", false]], ["money-bill-trend-up", ["\uE529", false]], ["money-bill-wave", ["\uF53A", false]], ["money-bill-wheat", ["\uE52A", false]], ["money-bills", ["\uE1F3", false]], ["money-check", ["\uF53C", false]], ["money-check-dollar", ["\uF53D", false]], ["monument", ["\uF5A6", false]], ["moon", ["\uF186", true]], ["mortar-pestle", ["\uF5A7", false]], ["mosque", ["\uF678", false]], ["mosquito", ["\uE52B", false]], ["mosquito-net", ["\uE52C", false]], ["motorcycle", ["\uF21C", false]], ["mound", ["\uE52D", false]], ["mountain", ["\uF6FC", false]], ["mountain-city", ["\uE52E", false]], ["mountain-sun", ["\uE52F", false]], ["mug-hot", ["\uF7B6", false]], ["mug-saucer", ["\uF0F4", false]], ["music", ["\uF001", false]], ["n", ["N", false]], ["naira-sign", ["\uE1F6", false]], ["network-wired", ["\uF6FF", false]], ["neuter", ["\uF22C", false]], ["newspaper", ["\uF1EA", true]], ["not-equal", ["\uF53E", false]], ["notdef", ["\uE1FE", false]], ["note-sticky", ["\uF249", true]], ["notes-medical", ["\uF481", false]], ["o", ["O", false]], ["object-group", ["\uF247", true]], ["object-ungroup", ["\uF248", true]], ["oil-can", ["\uF613", false]], ["oil-well", ["\uE532", false]], ["om", ["\uF679", false]], ["otter", ["\uF700", false]], ["outdent", ["\uF03B", false]], ["p", ["P", false]], ["pager", ["\uF815", false]], ["paint-roller", ["\uF5AA", false]], ["paintbrush", ["\uF1FC", false]], ["palette", ["\uF53F", false]], ["pallet", ["\uF482", false]], ["panorama", ["\uE209", false]], ["paper-plane", ["\uF1D8", true]], ["paperclip", ["\uF0C6", false]], ["parachute-box", ["\uF4CD", false]], ["paragraph", ["\uF1DD", false]], ["passport", ["\uF5AB", false]], ["paste", ["\uF0EA", true]], ["pause", ["\uF04C", false]], ["paw", ["\uF1B0", false]], ["peace", ["\uF67C", false]], ["pen", ["\uF304", false]], ["pen-clip", ["\uF305", false]], ["pen-fancy", ["\uF5AC", false]], ["pen-nib", ["\uF5AD", false]], ["pen-ruler", ["\uF5AE", false]], ["pen-to-square", ["\uF044", true]], ["pencil", ["\uF303", false]], ["people-arrows", ["\uE068", false]], ["people-carry-box", ["\uF4CE", false]], ["people-group", ["\uE533", false]], ["people-line", ["\uE534", false]], ["people-pulling", ["\uE535", false]], ["people-robbery", ["\uE536", false]], ["people-roof", ["\uE537", false]], ["pepper-hot", ["\uF816", false]], ["percent", ["%", false]], ["person", ["\uF183", false]], ["person-arrow-down-to-line", ["\uE538", false]], ["person-arrow-up-from-line", ["\uE539", false]], ["person-biking", ["\uF84A", false]], ["person-booth", ["\uF756", false]], ["person-breastfeeding", ["\uE53A", false]], ["person-burst", ["\uE53B", false]], ["person-cane", ["\uE53C", false]], ["person-chalkboard", ["\uE53D", false]], ["person-circle-check", ["\uE53E", false]], ["person-circle-exclamation", ["\uE53F", false]], ["person-circle-minus", ["\uE540", false]], ["person-circle-plus", ["\uE541", false]], ["person-circle-question", ["\uE542", false]], ["person-circle-xmark", ["\uE543", false]], ["person-digging", ["\uF85E", false]], ["person-dots-from-line", ["\uF470", false]], ["person-dress", ["\uF182", false]], ["person-dress-burst", ["\uE544", false]], ["person-drowning", ["\uE545", false]], ["person-falling", ["\uE546", false]], ["person-falling-burst", ["\uE547", false]], ["person-half-dress", ["\uE548", false]], ["person-harassing", ["\uE549", false]], ["person-hiking", ["\uF6EC", false]], ["person-military-pointing", ["\uE54A", false]], ["person-military-rifle", ["\uE54B", false]], ["person-military-to-person", ["\uE54C", false]], ["person-praying", ["\uF683", false]], ["person-pregnant", ["\uE31E", false]], ["person-rays", ["\uE54D", false]], ["person-rifle", ["\uE54E", false]], ["person-running", ["\uF70C", false]], ["person-shelter", ["\uE54F", false]], ["person-skating", ["\uF7C5", false]], ["person-skiing", ["\uF7C9", false]], ["person-skiing-nordic", ["\uF7CA", false]], ["person-snowboarding", ["\uF7CE", false]], ["person-swimming", ["\uF5C4", false]], ["person-through-window", ["\uE5A9", false]], ["person-walking", ["\uF554", false]], ["person-walking-arrow-loop-left", ["\uE551", false]], ["person-walking-arrow-right", ["\uE552", false]], ["person-walking-dashed-line-arrow-right", ["\uE553", false]], ["person-walking-luggage", ["\uE554", false]], ["person-walking-with-cane", ["\uF29D", false]], ["peseta-sign", ["\uE221", false]], ["peso-sign", ["\uE222", false]], ["phone", ["\uF095", false]], ["phone-flip", ["\uF879", false]], ["phone-slash", ["\uF3DD", false]], ["phone-volume", ["\uF2A0", false]], ["photo-film", ["\uF87C", false]], ["piggy-bank", ["\uF4D3", false]], ["pills", ["\uF484", false]], ["pizza-slice", ["\uF818", false]], ["place-of-worship", ["\uF67F", false]], ["plane", ["\uF072", false]], ["plane-arrival", ["\uF5AF", false]], ["plane-circle-check", ["\uE555", false]], ["plane-circle-exclamation", ["\uE556", false]], ["plane-circle-xmark", ["\uE557", false]], ["plane-departure", ["\uF5B0", false]], ["plane-lock", ["\uE558", false]], ["plane-slash", ["\uE069", false]], ["plane-up", ["\uE22D", false]], ["plant-wilt", ["\uE5AA", false]], ["plate-wheat", ["\uE55A", false]], ["play", ["\uF04B", false]], ["plug", ["\uF1E6", false]], ["plug-circle-bolt", ["\uE55B", false]], ["plug-circle-check", ["\uE55C", false]], ["plug-circle-exclamation", ["\uE55D", false]], ["plug-circle-minus", ["\uE55E", false]], ["plug-circle-plus", ["\uE55F", false]], ["plug-circle-xmark", ["\uE560", false]], ["plus", ["+", false]], ["plus-minus", ["\uE43C", false]], ["podcast", ["\uF2CE", false]], ["poo", ["\uF2FE", false]], ["poo-storm", ["\uF75A", false]], ["poop", ["\uF619", false]], ["power-off", ["\uF011", false]], ["prescription", ["\uF5B1", false]], ["prescription-bottle", ["\uF485", false]], ["prescription-bottle-medical", ["\uF486", false]], ["print", ["\uF02F", false]], ["pump-medical", ["\uE06A", false]], ["pump-soap", ["\uE06B", false]], ["puzzle-piece", ["\uF12E", false]], ["q", ["Q", false]], ["qrcode", ["\uF029", false]], ["question", ["?", false]], ["quote-left", ["\uF10D", false]], ["quote-right", ["\uF10E", false]], ["r", ["R", false]], ["radiation", ["\uF7B9", false]], ["radio", ["\uF8D7", false]], ["rainbow", ["\uF75B", false]], ["ranking-star", ["\uE561", false]], ["receipt", ["\uF543", false]], ["record-vinyl", ["\uF8D9", false]], ["rectangle-ad", ["\uF641", false]], ["rectangle-list", ["\uF022", true]], ["rectangle-xmark", ["\uF410", true]], ["recycle", ["\uF1B8", false]], ["registered", ["\uF25D", true]], ["repeat", ["\uF363", false]], ["reply", ["\uF3E5", false]], ["reply-all", ["\uF122", false]], ["republican", ["\uF75E", false]], ["restroom", ["\uF7BD", false]], ["retweet", ["\uF079", false]], ["ribbon", ["\uF4D6", false]], ["right-from-bracket", ["\uF2F5", false]], ["right-left", ["\uF362", false]], ["right-long", ["\uF30B", false]], ["right-to-bracket", ["\uF2F6", false]], ["ring", ["\uF70B", false]], ["road", ["\uF018", false]], ["road-barrier", ["\uE562", false]], ["road-bridge", ["\uE563", false]], ["road-circle-check", ["\uE564", false]], ["road-circle-exclamation", ["\uE565", false]], ["road-circle-xmark", ["\uE566", false]], ["road-lock", ["\uE567", false]], ["road-spikes", ["\uE568", false]], ["robot", ["\uF544", false]], ["rocket", ["\uF135", false]], ["rotate", ["\uF2F1", false]], ["rotate-left", ["\uF2EA", false]], ["rotate-right", ["\uF2F9", false]], ["route", ["\uF4D7", false]], ["rss", ["\uF09E", false]], ["ruble-sign", ["\uF158", false]], ["rug", ["\uE569", false]], ["ruler", ["\uF545", false]], ["ruler-combined", ["\uF546", false]], ["ruler-horizontal", ["\uF547", false]], ["ruler-vertical", ["\uF548", false]], ["rupee-sign", ["\uF156", false]], ["rupiah-sign", ["\uE23D", false]], ["s", ["S", false]], ["sack-dollar", ["\uF81D", false]], ["sack-xmark", ["\uE56A", false]], ["sailboat", ["\uE445", false]], ["satellite", ["\uF7BF", false]], ["satellite-dish", ["\uF7C0", false]], ["scale-balanced", ["\uF24E", false]], ["scale-unbalanced", ["\uF515", false]], ["scale-unbalanced-flip", ["\uF516", false]], ["school", ["\uF549", false]], ["school-circle-check", ["\uE56B", false]], ["school-circle-exclamation", ["\uE56C", false]], ["school-circle-xmark", ["\uE56D", false]], ["school-flag", ["\uE56E", false]], ["school-lock", ["\uE56F", false]], ["scissors", ["\uF0C4", false]], ["screwdriver", ["\uF54A", false]], ["screwdriver-wrench", ["\uF7D9", false]], ["scroll", ["\uF70E", false]], ["scroll-torah", ["\uF6A0", false]], ["sd-card", ["\uF7C2", false]], ["section", ["\uE447", false]], ["seedling", ["\uF4D8", false]], ["server", ["\uF233", false]], ["shapes", ["\uF61F", false]], ["share", ["\uF064", false]], ["share-from-square", ["\uF14D", true]], ["share-nodes", ["\uF1E0", false]], ["sheet-plastic", ["\uE571", false]], ["shekel-sign", ["\uF20B", false]], ["shield", ["\uF132", false]], ["shield-cat", ["\uE572", false]], ["shield-dog", ["\uE573", false]], ["shield-halved", ["\uF3ED", false]], ["shield-heart", ["\uE574", false]], ["shield-virus", ["\uE06C", false]], ["ship", ["\uF21A", false]], ["shirt", ["\uF553", false]], ["shoe-prints", ["\uF54B", false]], ["shop", ["\uF54F", false]], ["shop-lock", ["\uE4A5", false]], ["shop-slash", ["\uE070", false]], ["shower", ["\uF2CC", false]], ["shrimp", ["\uE448", false]], ["shuffle", ["\uF074", false]], ["shuttle-space", ["\uF197", false]], ["sign-hanging", ["\uF4D9", false]], ["signal", ["\uF012", false]], ["signature", ["\uF5B7", false]], ["signs-post", ["\uF277", false]], ["sim-card", ["\uF7C4", false]], ["sink", ["\uE06D", false]], ["sitemap", ["\uF0E8", false]], ["skull", ["\uF54C", false]], ["skull-crossbones", ["\uF714", false]], ["slash", ["\uF715", false]], ["sleigh", ["\uF7CC", false]], ["sliders", ["\uF1DE", false]], ["smog", ["\uF75F", false]], ["smoking", ["\uF48D", false]], ["snowflake", ["\uF2DC", true]], ["snowman", ["\uF7D0", false]], ["snowplow", ["\uF7D2", false]], ["soap", ["\uE06E", false]], ["socks", ["\uF696", false]], ["solar-panel", ["\uF5BA", false]], ["sort", ["\uF0DC", false]], ["sort-down", ["\uF0DD", false]], ["sort-up", ["\uF0DE", false]], ["spa", ["\uF5BB", false]], ["spaghetti-monster-flying", ["\uF67B", false]], ["spell-check", ["\uF891", false]], ["spider", ["\uF717", false]], ["spinner", ["\uF110", false]], ["splotch", ["\uF5BC", false]], ["spoon", ["\uF2E5", false]], ["spray-can", ["\uF5BD", false]], ["spray-can-sparkles", ["\uF5D0", false]], ["square", ["\uF0C8", true]], ["square-arrow-up-right", ["\uF14C", false]], ["square-caret-down", ["\uF150", true]], ["square-caret-left", ["\uF191", true]], ["square-caret-right", ["\uF152", true]], ["square-caret-up", ["\uF151", true]], ["square-check", ["\uF14A", true]], ["square-envelope", ["\uF199", false]], ["square-full", ["\uF45C", true]], ["square-h", ["\uF0FD", false]], ["square-minus", ["\uF146", true]], ["square-nfi", ["\uE576", false]], ["square-parking", ["\uF540", false]], ["square-pen", ["\uF14B", false]], ["square-person-confined", ["\uE577", false]], ["square-phone", ["\uF098", false]], ["square-phone-flip", ["\uF87B", false]], ["square-plus", ["\uF0FE", true]], ["square-poll-horizontal", ["\uF682", false]], ["square-poll-vertical", ["\uF681", false]], ["square-root-variable", ["\uF698", false]], ["square-rss", ["\uF143", false]], ["square-share-nodes", ["\uF1E1", false]], ["square-up-right", ["\uF360", false]], ["square-virus", ["\uE578", false]], ["square-xmark", ["\uF2D3", false]], ["staff-snake", ["\uE579", false]], ["stairs", ["\uE289", false]], ["stamp", ["\uF5BF", false]], ["stapler", ["\uE5AF", false]], ["star", ["\uF005", true]], ["star-and-crescent", ["\uF699", false]], ["star-half", ["\uF089", true]], ["star-half-stroke", ["\uF5C0", true]], ["star-of-david", ["\uF69A", false]], ["star-of-life", ["\uF621", false]], ["sterling-sign", ["\uF154", false]], ["stethoscope", ["\uF0F1", false]], ["stop", ["\uF04D", false]], ["stopwatch", ["\uF2F2", false]], ["stopwatch-20", ["\uE06F", false]], ["store", ["\uF54E", false]], ["store-slash", ["\uE071", false]], ["street-view", ["\uF21D", false]], ["strikethrough", ["\uF0CC", false]], ["stroopwafel", ["\uF551", false]], ["subscript", ["\uF12C", false]], ["suitcase", ["\uF0F2", false]], ["suitcase-medical", ["\uF0FA", false]], ["suitcase-rolling", ["\uF5C1", false]], ["sun", ["\uF185", true]], ["sun-plant-wilt", ["\uE57A", false]], ["superscript", ["\uF12B", false]], ["swatchbook", ["\uF5C3", false]], ["synagogue", ["\uF69B", false]], ["syringe", ["\uF48E", false]], ["t", ["T", false]], ["table", ["\uF0CE", false]], ["table-cells", ["\uF00A", false]], ["table-cells-large", ["\uF009", false]], ["table-columns", ["\uF0DB", false]], ["table-list", ["\uF00B", false]], ["table-tennis-paddle-ball", ["\uF45D", false]], ["tablet", ["\uF3FB", false]], ["tablet-button", ["\uF10A", false]], ["tablet-screen-button", ["\uF3FA", false]], ["tablets", ["\uF490", false]], ["tachograph-digital", ["\uF566", false]], ["tag", ["\uF02B", false]], ["tags", ["\uF02C", false]], ["tape", ["\uF4DB", false]], ["tarp", ["\uE57B", false]], ["tarp-droplet", ["\uE57C", false]], ["taxi", ["\uF1BA", false]], ["teeth", ["\uF62E", false]], ["teeth-open", ["\uF62F", false]], ["temperature-arrow-down", ["\uE03F", false]], ["temperature-arrow-up", ["\uE040", false]], ["temperature-empty", ["\uF2CB", false]], ["temperature-full", ["\uF2C7", false]], ["temperature-half", ["\uF2C9", false]], ["temperature-high", ["\uF769", false]], ["temperature-low", ["\uF76B", false]], ["temperature-quarter", ["\uF2CA", false]], ["temperature-three-quarters", ["\uF2C8", false]], ["tenge-sign", ["\uF7D7", false]], ["tent", ["\uE57D", false]], ["tent-arrow-down-to-line", ["\uE57E", false]], ["tent-arrow-left-right", ["\uE57F", false]], ["tent-arrow-turn-left", ["\uE580", false]], ["tent-arrows-down", ["\uE581", false]], ["tents", ["\uE582", false]], ["terminal", ["\uF120", false]], ["text-height", ["\uF034", false]], ["text-slash", ["\uF87D", false]], ["text-width", ["\uF035", false]], ["thermometer", ["\uF491", false]], ["thumbs-down", ["\uF165", true]], ["thumbs-up", ["\uF164", true]], ["thumbtack", ["\uF08D", false]], ["ticket", ["\uF145", false]], ["ticket-simple", ["\uF3FF", false]], ["timeline", ["\uE29C", false]], ["toggle-off", ["\uF204", false]], ["toggle-on", ["\uF205", false]], ["toilet", ["\uF7D8", false]], ["toilet-paper", ["\uF71E", false]], ["toilet-paper-slash", ["\uE072", false]], ["toilet-portable", ["\uE583", false]], ["toilets-portable", ["\uE584", false]], ["toolbox", ["\uF552", false]], ["tooth", ["\uF5C9", false]], ["torii-gate", ["\uF6A1", false]], ["tornado", ["\uF76F", false]], ["tower-broadcast", ["\uF519", false]], ["tower-cell", ["\uE585", false]], ["tower-observation", ["\uE586", false]], ["tractor", ["\uF722", false]], ["trademark", ["\uF25C", false]], ["traffic-light", ["\uF637", false]], ["trailer", ["\uE041", false]], ["train", ["\uF238", false]], ["train-subway", ["\uF239", false]], ["train-tram", ["\uE5B4", false]], ["transgender", ["\uF225", false]], ["trash", ["\uF1F8", false]], ["trash-arrow-up", ["\uF829", false]], ["trash-can", ["\uF2ED", true]], ["trash-can-arrow-up", ["\uF82A", false]], ["tree", ["\uF1BB", false]], ["tree-city", ["\uE587", false]], ["triangle-exclamation", ["\uF071", false]], ["trophy", ["\uF091", false]], ["trowel", ["\uE589", false]], ["trowel-bricks", ["\uE58A", false]], ["truck", ["\uF0D1", false]], ["truck-arrow-right", ["\uE58B", false]], ["truck-droplet", ["\uE58C", false]], ["truck-fast", ["\uF48B", false]], ["truck-field", ["\uE58D", false]], ["truck-field-un", ["\uE58E", false]], ["truck-front", ["\uE2B7", false]], ["truck-medical", ["\uF0F9", false]], ["truck-monster", ["\uF63B", false]], ["truck-moving", ["\uF4DF", false]], ["truck-pickup", ["\uF63C", false]], ["truck-plane", ["\uE58F", false]], ["truck-ramp-box", ["\uF4DE", false]], ["tty", ["\uF1E4", false]], ["turkish-lira-sign", ["\uE2BB", false]], ["turn-down", ["\uF3BE", false]], ["turn-up", ["\uF3BF", false]], ["tv", ["\uF26C", false]], ["u", ["U", false]], ["umbrella", ["\uF0E9", false]], ["umbrella-beach", ["\uF5CA", false]], ["underline", ["\uF0CD", false]], ["universal-access", ["\uF29A", false]], ["unlock", ["\uF09C", false]], ["unlock-keyhole", ["\uF13E", false]], ["up-down", ["\uF338", false]], ["up-down-left-right", ["\uF0B2", false]], ["up-long", ["\uF30C", false]], ["up-right-and-down-left-from-center", ["\uF424", false]], ["up-right-from-square", ["\uF35D", false]], ["upload", ["\uF093", false]], ["user", ["\uF007", true]], ["user-astronaut", ["\uF4FB", false]], ["user-check", ["\uF4FC", false]], ["user-clock", ["\uF4FD", false]], ["user-doctor", ["\uF0F0", false]], ["user-gear", ["\uF4FE", false]], ["user-graduate", ["\uF501", false]], ["user-group", ["\uF500", false]], ["user-injured", ["\uF728", false]], ["user-large", ["\uF406", false]], ["user-large-slash", ["\uF4FA", false]], ["user-lock", ["\uF502", false]], ["user-minus", ["\uF503", false]], ["user-ninja", ["\uF504", false]], ["user-nurse", ["\uF82F", false]], ["user-pen", ["\uF4FF", false]], ["user-plus", ["\uF234", false]], ["user-secret", ["\uF21B", false]], ["user-shield", ["\uF505", false]], ["user-slash", ["\uF506", false]], ["user-tag", ["\uF507", false]], ["user-tie", ["\uF508", false]], ["user-xmark", ["\uF235", false]], ["users", ["\uF0C0", false]], ["users-between-lines", ["\uE591", false]], ["users-gear", ["\uF509", false]], ["users-line", ["\uE592", false]], ["users-rays", ["\uE593", false]], ["users-rectangle", ["\uE594", false]], ["users-slash", ["\uE073", false]], ["users-viewfinder", ["\uE595", false]], ["utensils", ["\uF2E7", false]], ["v", ["V", false]], ["van-shuttle", ["\uF5B6", false]], ["vault", ["\uE2C5", false]], ["vector-square", ["\uF5CB", false]], ["venus", ["\uF221", false]], ["venus-double", ["\uF226", false]], ["venus-mars", ["\uF228", false]], ["vest", ["\uE085", false]], ["vest-patches", ["\uE086", false]], ["vial", ["\uF492", false]], ["vial-circle-check", ["\uE596", false]], ["vial-virus", ["\uE597", false]], ["vials", ["\uF493", false]], ["video", ["\uF03D", false]], ["video-slash", ["\uF4E2", false]], ["vihara", ["\uF6A7", false]], ["virus", ["\uE074", false]], ["virus-covid", ["\uE4A8", false]], ["virus-covid-slash", ["\uE4A9", false]], ["virus-slash", ["\uE075", false]], ["viruses", ["\uE076", false]], ["voicemail", ["\uF897", false]], ["volcano", ["\uF770", false]], ["volleyball", ["\uF45F", false]], ["volume-high", ["\uF028", false]], ["volume-low", ["\uF027", false]], ["volume-off", ["\uF026", false]], ["volume-xmark", ["\uF6A9", false]], ["vr-cardboard", ["\uF729", false]], ["w", ["W", false]], ["walkie-talkie", ["\uF8EF", false]], ["wallet", ["\uF555", false]], ["wand-magic", ["\uF0D0", false]], ["wand-magic-sparkles", ["\uE2CA", false]], ["wand-sparkles", ["\uF72B", false]], ["warehouse", ["\uF494", false]], ["water", ["\uF773", false]], ["water-ladder", ["\uF5C5", false]], ["wave-square", ["\uF83E", false]], ["weight-hanging", ["\uF5CD", false]], ["weight-scale", ["\uF496", false]], ["wheat-awn", ["\uE2CD", false]], ["wheat-awn-circle-exclamation", ["\uE598", false]], ["wheelchair", ["\uF193", false]], ["wheelchair-move", ["\uE2CE", false]], ["whiskey-glass", ["\uF7A0", false]], ["wifi", ["\uF1EB", false]], ["wind", ["\uF72E", false]], ["window-maximize", ["\uF2D0", true]], ["window-minimize", ["\uF2D1", true]], ["window-restore", ["\uF2D2", true]], ["wine-bottle", ["\uF72F", false]], ["wine-glass", ["\uF4E3", false]], ["wine-glass-empty", ["\uF5CE", false]], ["won-sign", ["\uF159", false]], ["worm", ["\uE599", false]], ["wrench", ["\uF0AD", false]], ["x", ["X", false]], ["x-ray", ["\uF497", false]], ["xmark", ["\uF00D", false]], ["xmarks-lines", ["\uE59A", false]], ["y", ["Y", false]], ["yen-sign", ["\uF157", false]], ["yin-yang", ["\uF6AD", false]], ["z", ["Z", false]]] - ); - window.getFontAwesome6Metadata = () => { - return new Map(metadata); - }; - window.getFontAwesome6IconMetadata = (name) => { - return metadata.get(aliases.get(name) || name); - }; - })(); - - // ts/WoltLabSuite/WebComponent/fa-brand.ts - (() => { - const HeightMap = /* @__PURE__ */ new Map([ - [16, 14], - [24, 18], - [32, 28], - [48, 42], - [64, 56], - [96, 84], - [128, 112], - [144, 130] - ]); - class FaBrand extends HTMLElement { - root = void 0; - svgStyle = document.createElement("style"); - connectedCallback() { - this.validate(); - const root = this.getRoot(); - const slot = document.createElement("slot"); - slot.name = "svg"; - root.append(slot); - this.setAttribute("aria-hidden", "true"); - this.translate = false; - } - validate() { - if (this.size === 0) { - throw new TypeError("Must provide an icon size."); - } else if (!HeightMap.has(this.size)) { - throw new TypeError("Must provide a valid icon size."); - } - } - getRoot() { - if (this.root === void 0) { - this.root = this.attachShadow({ mode: "open" }); - this.updateRenderSize(); - this.root.append(this.svgStyle); - } - return this.root; - } - updateRenderSize() { - const renderSize = HeightMap.get(this.size); - this.svgStyle.textContent = ` + return ${he.parse(e)} + `;return new Function("Language","h","v",r)}var V=class{compiled;constructor(r){try{this.compiled=Me(r)}catch(n){throw n instanceof Error&&console.debug(n.message),n}}fetch(r){return this.compiled(ie,{selectPlural:Se,escapeHTML:qe,formatNumeric:de},r)}};function Ie(e,r){typeof r=="string"?G(e,ze(r)):G(e,function(){return r})}function ze(e){if(!e.includes("{"))return function(){return e};try{let r=new V(e);return r.fetch.bind(r)}catch{return function(){return e}}}var Pe=(()=>{let e="DOMContentLoaded",r=new WeakMap,n=[],h=l=>{do if(l.nextSibling)return!0;while(l=l.parentNode);return!1},t=()=>{n.splice(0).forEach(l=>{r.get(l[0])!==!0&&(r.set(l[0],!0),l[0][l[1]]())})};document.addEventListener(e,t);class a extends HTMLElement{static withParsedCallback(d,b="parsed"){let{prototype:k}=d,{connectedCallback:A}=k,S=b+"Callback",z=(u,g,p,E)=>{g.disconnect(),p.removeEventListener(e,E),P(u)},P=u=>{n.length||requestAnimationFrame(t),n.push([u,S])};return Object.defineProperties(k,{connectedCallback:{configurable:!0,writable:!0,value(){if(A&&A.apply(this,arguments),S in this&&!r.has(this)){let u=this,{ownerDocument:g}=u;if(r.set(u,!1),g.readyState==="complete"||h(u))P(u);else{let p=()=>z(u,E,g,p);g.addEventListener(e,p);let E=new MutationObserver(()=>{h(u)&&z(u,E,g,p)});E.observe(u.parentNode,{childList:!0,subtree:!0})}}}},[b]:{configurable:!0,get(){return r.get(this)===!0}}}),d}}return a.withParsedCallback(a)})(),pe=Pe;(()=>{let e=new Map([["contact-book","address-book"],["contact-card","address-card"],["vcard","address-card"],["angle-double-down","angles-down"],["angle-double-left","angles-left"],["angle-double-right","angles-right"],["angle-double-up","angles-up"],["apple-alt","apple-whole"],["sort-numeric-asc","arrow-down-1-9"],["sort-numeric-down","arrow-down-1-9"],["sort-numeric-desc","arrow-down-9-1"],["sort-numeric-down-alt","arrow-down-9-1"],["sort-alpha-asc","arrow-down-a-z"],["sort-alpha-down","arrow-down-a-z"],["long-arrow-down","arrow-down-long"],["sort-amount-desc","arrow-down-short-wide"],["sort-amount-down-alt","arrow-down-short-wide"],["sort-amount-asc","arrow-down-wide-short"],["sort-amount-down","arrow-down-wide-short"],["sort-alpha-desc","arrow-down-z-a"],["sort-alpha-down-alt","arrow-down-z-a"],["long-arrow-left","arrow-left-long"],["mouse-pointer","arrow-pointer"],["exchange","arrow-right-arrow-left"],["sign-out","arrow-right-from-bracket"],["long-arrow-right","arrow-right-long"],["sign-in","arrow-right-to-bracket"],["arrow-left-rotate","arrow-rotate-left"],["arrow-rotate-back","arrow-rotate-left"],["arrow-rotate-backward","arrow-rotate-left"],["undo","arrow-rotate-left"],["arrow-right-rotate","arrow-rotate-right"],["arrow-rotate-forward","arrow-rotate-right"],["redo","arrow-rotate-right"],["level-down","arrow-turn-down"],["level-up","arrow-turn-up"],["sort-numeric-up","arrow-up-1-9"],["sort-numeric-up-alt","arrow-up-9-1"],["sort-alpha-up","arrow-up-a-z"],["long-arrow-up","arrow-up-long"],["external-link","arrow-up-right-from-square"],["sort-amount-up-alt","arrow-up-short-wide"],["sort-amount-up","arrow-up-wide-short"],["sort-alpha-up-alt","arrow-up-z-a"],["arrows-h","arrows-left-right"],["refresh","arrows-rotate"],["sync","arrows-rotate"],["arrows-v","arrows-up-down"],["arrows","arrows-up-down-left-right"],["carriage-baby","baby-carriage"],["fast-backward","backward-fast"],["step-backward","backward-step"],["shopping-bag","bag-shopping"],["haykal","bahai"],["cancel","ban"],["smoking-ban","ban-smoking"],["band-aid","bandage"],["navicon","bars"],["tasks-alt","bars-progress"],["reorder","bars-staggered"],["stream","bars-staggered"],["baseball-ball","baseball"],["shopping-basket","basket-shopping"],["basketball-ball","basketball"],["bathtub","bath"],["battery-0","battery-empty"],["battery","battery-full"],["battery-5","battery-full"],["battery-3","battery-half"],["battery-2","battery-quarter"],["battery-4","battery-three-quarters"],["procedures","bed-pulse"],["beer","beer-mug-empty"],["concierge-bell","bell-concierge"],["zap","bolt"],["atlas","book-atlas"],["bible","book-bible"],["journal-whills","book-journal-whills"],["book-reader","book-open-reader"],["quran","book-quran"],["book-dead","book-skull"],["tanakh","book-tanakh"],["border-style","border-top-left"],["archive","box-archive"],["boxes","boxes-stacked"],["boxes-alt","boxes-stacked"],["quidditch","broom-ball"],["quidditch-broom-ball","broom-ball"],["bank","building-columns"],["institution","building-columns"],["museum","building-columns"],["university","building-columns"],["hamburger","burger"],["bus-alt","bus-simple"],["briefcase-clock","business-time"],["tram","cable-car"],["birthday-cake","cake-candles"],["cake","cake-candles"],["calendar-alt","calendar-days"],["calendar-times","calendar-xmark"],["camera-alt","camera"],["automobile","car"],["battery-car","car-battery"],["car-crash","car-burst"],["car-alt","car-rear"],["dolly-flatbed","cart-flatbed"],["luggage-cart","cart-flatbed-suitcase"],["shopping-cart","cart-shopping"],["blackboard","chalkboard"],["chalkboard-teacher","chalkboard-user"],["glass-cheers","champagne-glasses"],["area-chart","chart-area"],["bar-chart","chart-bar"],["line-chart","chart-line"],["pie-chart","chart-pie"],["vote-yea","check-to-slot"],["child-rifle","child-combatant"],["arrow-circle-down","circle-arrow-down"],["arrow-circle-left","circle-arrow-left"],["arrow-circle-right","circle-arrow-right"],["arrow-circle-up","circle-arrow-up"],["check-circle","circle-check"],["chevron-circle-down","circle-chevron-down"],["chevron-circle-left","circle-chevron-left"],["chevron-circle-right","circle-chevron-right"],["chevron-circle-up","circle-chevron-up"],["donate","circle-dollar-to-slot"],["dot-circle","circle-dot"],["arrow-alt-circle-down","circle-down"],["exclamation-circle","circle-exclamation"],["hospital-symbol","circle-h"],["adjust","circle-half-stroke"],["info-circle","circle-info"],["arrow-alt-circle-left","circle-left"],["minus-circle","circle-minus"],["pause-circle","circle-pause"],["play-circle","circle-play"],["plus-circle","circle-plus"],["question-circle","circle-question"],["radiation-alt","circle-radiation"],["arrow-alt-circle-right","circle-right"],["stop-circle","circle-stop"],["arrow-alt-circle-up","circle-up"],["user-circle","circle-user"],["times-circle","circle-xmark"],["xmark-circle","circle-xmark"],["clock-four","clock"],["history","clock-rotate-left"],["cloud-download","cloud-arrow-down"],["cloud-download-alt","cloud-arrow-down"],["cloud-upload","cloud-arrow-up"],["cloud-upload-alt","cloud-arrow-up"],["thunderstorm","cloud-bolt"],["commenting","comment-dots"],["sms","comment-sms"],["drafting-compass","compass-drafting"],["mouse","computer-mouse"],["credit-card-alt","credit-card"],["crop-alt","crop-simple"],["backspace","delete-left"],["desktop-alt","desktop"],["project-diagram","diagram-project"],["directions","diamond-turn-right"],["dollar","dollar-sign"],["usd","dollar-sign"],["dolly-box","dolly"],["compress-alt","down-left-and-up-right-to-center"],["long-arrow-alt-down","down-long"],["tint","droplet"],["tint-slash","droplet-slash"],["deaf","ear-deaf"],["deafness","ear-deaf"],["hard-of-hearing","ear-deaf"],["assistive-listening-systems","ear-listen"],["globe-africa","earth-africa"],["earth","earth-americas"],["earth-america","earth-americas"],["globe-americas","earth-americas"],["globe-asia","earth-asia"],["globe-europe","earth-europe"],["globe-oceania","earth-oceania"],["ellipsis-h","ellipsis"],["ellipsis-v","ellipsis-vertical"],["mail-bulk","envelopes-bulk"],["eur","euro-sign"],["euro","euro-sign"],["eye-dropper-empty","eye-dropper"],["eyedropper","eye-dropper"],["low-vision","eye-low-vision"],["angry","face-angry"],["dizzy","face-dizzy"],["flushed","face-flushed"],["frown","face-frown"],["frown-open","face-frown-open"],["grimace","face-grimace"],["grin","face-grin"],["grin-beam","face-grin-beam"],["grin-beam-sweat","face-grin-beam-sweat"],["grin-hearts","face-grin-hearts"],["grin-squint","face-grin-squint"],["grin-squint-tears","face-grin-squint-tears"],["grin-stars","face-grin-stars"],["grin-tears","face-grin-tears"],["grin-tongue","face-grin-tongue"],["grin-tongue-squint","face-grin-tongue-squint"],["grin-tongue-wink","face-grin-tongue-wink"],["grin-alt","face-grin-wide"],["grin-wink","face-grin-wink"],["kiss","face-kiss"],["kiss-beam","face-kiss-beam"],["kiss-wink-heart","face-kiss-wink-heart"],["laugh","face-laugh"],["laugh-beam","face-laugh-beam"],["laugh-squint","face-laugh-squint"],["laugh-wink","face-laugh-wink"],["meh","face-meh"],["meh-blank","face-meh-blank"],["meh-rolling-eyes","face-rolling-eyes"],["sad-cry","face-sad-cry"],["sad-tear","face-sad-tear"],["smile","face-smile"],["smile-beam","face-smile-beam"],["smile-wink","face-smile-wink"],["surprise","face-surprise"],["tired","face-tired"],["feather-alt","feather-pointed"],["file-download","file-arrow-down"],["file-upload","file-arrow-up"],["arrow-right-from-file","file-export"],["arrow-right-to-file","file-import"],["file-alt","file-lines"],["file-text","file-lines"],["file-edit","file-pen"],["file-medical-alt","file-waveform"],["file-archive","file-zipper"],["funnel-dollar","filter-circle-dollar"],["fire-alt","fire-flame-curved"],["burn","fire-flame-simple"],["save","floppy-disk"],["folder-blank","folder"],["football-ball","football"],["fast-forward","forward-fast"],["step-forward","forward-step"],["futbol-ball","futbol"],["soccer-ball","futbol"],["dashboard","gauge"],["gauge-med","gauge"],["tachometer-alt-average","gauge"],["tachometer-alt","gauge-high"],["tachometer-alt-fast","gauge-high"],["gauge-simple-med","gauge-simple"],["tachometer-average","gauge-simple"],["tachometer","gauge-simple-high"],["tachometer-fast","gauge-simple-high"],["legal","gavel"],["cog","gear"],["cogs","gears"],["golf-ball","golf-ball-tee"],["mortar-board","graduation-cap"],["grip-horizontal","grip"],["hand-paper","hand"],["hand-rock","hand-back-fist"],["allergies","hand-dots"],["fist-raised","hand-fist"],["hand-holding-usd","hand-holding-dollar"],["hand-holding-water","hand-holding-droplet"],["sign-language","hands"],["signing","hands"],["american-sign-language-interpreting","hands-asl-interpreting"],["asl-interpreting","hands-asl-interpreting"],["hands-american-sign-language-interpreting","hands-asl-interpreting"],["hands-wash","hands-bubbles"],["praying-hands","hands-praying"],["hands-helping","handshake-angle"],["handshake-alt","handshake-simple"],["handshake-alt-slash","handshake-simple-slash"],["hdd","hard-drive"],["header","heading"],["headphones-alt","headphones-simple"],["heart-broken","heart-crack"],["heartbeat","heart-pulse"],["hard-hat","helmet-safety"],["hat-hard","helmet-safety"],["hospital-alt","hospital"],["hospital-wide","hospital"],["hot-tub","hot-tub-person"],["hourglass-empty","hourglass"],["hourglass-3","hourglass-end"],["hourglass-2","hourglass-half"],["hourglass-1","hourglass-start"],["home","house"],["home-alt","house"],["home-lg-alt","house"],["home-lg","house-chimney"],["house-damage","house-chimney-crack"],["clinic-medical","house-chimney-medical"],["laptop-house","house-laptop"],["home-user","house-user"],["hryvnia","hryvnia-sign"],["heart-music-camera-bolt","icons"],["drivers-license","id-card"],["id-card-alt","id-card-clip"],["portrait","image-portrait"],["indian-rupee","indian-rupee-sign"],["inr","indian-rupee-sign"],["fighter-jet","jet-fighter"],["first-aid","kit-medical"],["landmark-alt","landmark-dome"],["long-arrow-alt-left","left-long"],["arrows-alt-h","left-right"],["chain","link"],["chain-broken","link-slash"],["chain-slash","link-slash"],["unlink","link-slash"],["list-squares","list"],["tasks","list-check"],["list-1-2","list-ol"],["list-numeric","list-ol"],["list-dots","list-ul"],["location","location-crosshairs"],["map-marker-alt","location-dot"],["map-marker","location-pin"],["search","magnifying-glass"],["search-dollar","magnifying-glass-dollar"],["search-location","magnifying-glass-location"],["search-minus","magnifying-glass-minus"],["search-plus","magnifying-glass-plus"],["map-marked","map-location"],["map-marked-alt","map-location-dot"],["mars-stroke-h","mars-stroke-right"],["mars-stroke-v","mars-stroke-up"],["glass-martini-alt","martini-glass"],["cocktail","martini-glass-citrus"],["glass-martini","martini-glass-empty"],["theater-masks","masks-theater"],["expand-arrows-alt","maximize"],["comment-alt","message"],["microphone-alt","microphone-lines"],["microphone-alt-slash","microphone-lines-slash"],["compress-arrows-alt","minimize"],["subtract","minus"],["mobile-android","mobile"],["mobile-phone","mobile"],["mobile-android-alt","mobile-screen"],["mobile-alt","mobile-screen-button"],["money-bill-alt","money-bill-1"],["money-bill-wave-alt","money-bill-1-wave"],["money-check-alt","money-check-dollar"],["coffee","mug-saucer"],["sticky-note","note-sticky"],["dedent","outdent"],["paint-brush","paintbrush"],["file-clipboard","paste"],["pen-alt","pen-clip"],["pencil-ruler","pen-ruler"],["edit","pen-to-square"],["pencil-alt","pencil"],["people-arrows-left-right","people-arrows"],["people-carry","people-carry-box"],["percentage","percent"],["male","person"],["biking","person-biking"],["digging","person-digging"],["diagnoses","person-dots-from-line"],["female","person-dress"],["hiking","person-hiking"],["pray","person-praying"],["running","person-running"],["skating","person-skating"],["skiing","person-skiing"],["skiing-nordic","person-skiing-nordic"],["snowboarding","person-snowboarding"],["swimmer","person-swimming"],["walking","person-walking"],["blind","person-walking-with-cane"],["phone-alt","phone-flip"],["volume-control-phone","phone-volume"],["photo-video","photo-film"],["add","plus"],["poo-bolt","poo-storm"],["prescription-bottle-alt","prescription-bottle-medical"],["quote-left-alt","quote-left"],["quote-right-alt","quote-right"],["ad","rectangle-ad"],["list-alt","rectangle-list"],["rectangle-times","rectangle-xmark"],["times-rectangle","rectangle-xmark"],["window-close","rectangle-xmark"],["mail-reply","reply"],["mail-reply-all","reply-all"],["sign-out-alt","right-from-bracket"],["exchange-alt","right-left"],["long-arrow-alt-right","right-long"],["sign-in-alt","right-to-bracket"],["sync-alt","rotate"],["rotate-back","rotate-left"],["rotate-backward","rotate-left"],["undo-alt","rotate-left"],["redo-alt","rotate-right"],["rotate-forward","rotate-right"],["feed","rss"],["rouble","ruble-sign"],["rub","ruble-sign"],["ruble","ruble-sign"],["rupee","rupee-sign"],["balance-scale","scale-balanced"],["balance-scale-left","scale-unbalanced"],["balance-scale-right","scale-unbalanced-flip"],["cut","scissors"],["tools","screwdriver-wrench"],["torah","scroll-torah"],["sprout","seedling"],["triangle-circle-square","shapes"],["arrow-turn-right","share"],["mail-forward","share"],["share-square","share-from-square"],["share-alt","share-nodes"],["ils","shekel-sign"],["shekel","shekel-sign"],["sheqel","shekel-sign"],["sheqel-sign","shekel-sign"],["shield-blank","shield"],["shield-alt","shield-halved"],["t-shirt","shirt"],["tshirt","shirt"],["store-alt","shop"],["store-alt-slash","shop-slash"],["random","shuffle"],["space-shuttle","shuttle-space"],["sign","sign-hanging"],["signal-5","signal"],["signal-perfect","signal"],["map-signs","signs-post"],["sliders-h","sliders"],["unsorted","sort"],["sort-desc","sort-down"],["sort-asc","sort-up"],["pastafarianism","spaghetti-monster-flying"],["utensil-spoon","spoon"],["air-freshener","spray-can-sparkles"],["external-link-square","square-arrow-up-right"],["caret-square-down","square-caret-down"],["caret-square-left","square-caret-left"],["caret-square-right","square-caret-right"],["caret-square-up","square-caret-up"],["check-square","square-check"],["envelope-square","square-envelope"],["h-square","square-h"],["minus-square","square-minus"],["parking","square-parking"],["pen-square","square-pen"],["pencil-square","square-pen"],["phone-square","square-phone"],["phone-square-alt","square-phone-flip"],["plus-square","square-plus"],["poll-h","square-poll-horizontal"],["poll","square-poll-vertical"],["square-root-alt","square-root-variable"],["rss-square","square-rss"],["share-alt-square","square-share-nodes"],["external-link-square-alt","square-up-right"],["times-square","square-xmark"],["xmark-square","square-xmark"],["rod-asclepius","staff-snake"],["rod-snake","staff-snake"],["staff-aesculapius","staff-snake"],["star-half-alt","star-half-stroke"],["gbp","sterling-sign"],["pound-sign","sterling-sign"],["medkit","suitcase-medical"],["th","table-cells"],["th-large","table-cells-large"],["columns","table-columns"],["th-list","table-list"],["ping-pong-paddle-ball","table-tennis-paddle-ball"],["table-tennis","table-tennis-paddle-ball"],["tablet-android","tablet"],["tablet-alt","tablet-screen-button"],["digital-tachograph","tachograph-digital"],["cab","taxi"],["temperature-down","temperature-arrow-down"],["temperature-up","temperature-arrow-up"],["temperature-0","temperature-empty"],["thermometer-0","temperature-empty"],["thermometer-empty","temperature-empty"],["temperature-4","temperature-full"],["thermometer-4","temperature-full"],["thermometer-full","temperature-full"],["temperature-2","temperature-half"],["thermometer-2","temperature-half"],["thermometer-half","temperature-half"],["temperature-1","temperature-quarter"],["thermometer-1","temperature-quarter"],["thermometer-quarter","temperature-quarter"],["temperature-3","temperature-three-quarters"],["thermometer-3","temperature-three-quarters"],["thermometer-three-quarters","temperature-three-quarters"],["tenge","tenge-sign"],["remove-format","text-slash"],["thumb-tack","thumbtack"],["ticket-alt","ticket-simple"],["broadcast-tower","tower-broadcast"],["subway","train-subway"],["transgender-alt","transgender"],["trash-restore","trash-arrow-up"],["trash-alt","trash-can"],["trash-restore-alt","trash-can-arrow-up"],["exclamation-triangle","triangle-exclamation"],["warning","triangle-exclamation"],["shipping-fast","truck-fast"],["ambulance","truck-medical"],["truck-loading","truck-ramp-box"],["teletype","tty"],["try","turkish-lira-sign"],["turkish-lira","turkish-lira-sign"],["level-down-alt","turn-down"],["level-up-alt","turn-up"],["television","tv"],["tv-alt","tv"],["unlock-alt","unlock-keyhole"],["arrows-alt-v","up-down"],["arrows-alt","up-down-left-right"],["long-arrow-alt-up","up-long"],["expand-alt","up-right-and-down-left-from-center"],["external-link-alt","up-right-from-square"],["user-md","user-doctor"],["user-cog","user-gear"],["user-friends","user-group"],["user-alt","user-large"],["user-alt-slash","user-large-slash"],["user-edit","user-pen"],["user-times","user-xmark"],["users-cog","users-gear"],["cutlery","utensils"],["shuttle-van","van-shuttle"],["video-camera","video"],["volleyball-ball","volleyball"],["volume-up","volume-high"],["volume-down","volume-low"],["volume-mute","volume-xmark"],["volume-times","volume-xmark"],["magic","wand-magic"],["magic-wand-sparkles","wand-magic-sparkles"],["ladder-water","water-ladder"],["swimming-pool","water-ladder"],["weight","weight-scale"],["wheat-alt","wheat-awn"],["wheelchair-alt","wheelchair-move"],["glass-whiskey","whiskey-glass"],["wifi-3","wifi"],["wifi-strong","wifi"],["wine-glass-alt","wine-glass-empty"],["krw","won-sign"],["won","won-sign"],["close","xmark"],["multiply","xmark"],["remove","xmark"],["times","xmark"],["cny","yen-sign"],["jpy","yen-sign"],["rmb","yen-sign"],["yen","yen-sign"]]),r=new Map([["0",["0",!1]],["1",["1",!1]],["2",["2",!1]],["3",["3",!1]],["4",["4",!1]],["5",["5",!1]],["6",["6",!1]],["7",["7",!1]],["8",["8",!1]],["9",["9",!1]],["a",["A",!1]],["address-book",["\uF2B9",!0]],["address-card",["\uF2BB",!0]],["align-center",["\uF037",!1]],["align-justify",["\uF039",!1]],["align-left",["\uF036",!1]],["align-right",["\uF038",!1]],["anchor",["\uF13D",!1]],["anchor-circle-check",["\uE4AA",!1]],["anchor-circle-exclamation",["\uE4AB",!1]],["anchor-circle-xmark",["\uE4AC",!1]],["anchor-lock",["\uE4AD",!1]],["angle-down",["\uF107",!1]],["angle-left",["\uF104",!1]],["angle-right",["\uF105",!1]],["angle-up",["\uF106",!1]],["angles-down",["\uF103",!1]],["angles-left",["\uF100",!1]],["angles-right",["\uF101",!1]],["angles-up",["\uF102",!1]],["ankh",["\uF644",!1]],["apple-whole",["\uF5D1",!1]],["archway",["\uF557",!1]],["arrow-down",["\uF063",!1]],["arrow-down-1-9",["\uF162",!1]],["arrow-down-9-1",["\uF886",!1]],["arrow-down-a-z",["\uF15D",!1]],["arrow-down-long",["\uF175",!1]],["arrow-down-short-wide",["\uF884",!1]],["arrow-down-up-across-line",["\uE4AF",!1]],["arrow-down-up-lock",["\uE4B0",!1]],["arrow-down-wide-short",["\uF160",!1]],["arrow-down-z-a",["\uF881",!1]],["arrow-left",["\uF060",!1]],["arrow-left-long",["\uF177",!1]],["arrow-pointer",["\uF245",!1]],["arrow-right",["\uF061",!1]],["arrow-right-arrow-left",["\uF0EC",!1]],["arrow-right-from-bracket",["\uF08B",!1]],["arrow-right-long",["\uF178",!1]],["arrow-right-to-bracket",["\uF090",!1]],["arrow-right-to-city",["\uE4B3",!1]],["arrow-rotate-left",["\uF0E2",!1]],["arrow-rotate-right",["\uF01E",!1]],["arrow-trend-down",["\uE097",!1]],["arrow-trend-up",["\uE098",!1]],["arrow-turn-down",["\uF149",!1]],["arrow-turn-up",["\uF148",!1]],["arrow-up",["\uF062",!1]],["arrow-up-1-9",["\uF163",!1]],["arrow-up-9-1",["\uF887",!1]],["arrow-up-a-z",["\uF15E",!1]],["arrow-up-from-bracket",["\uE09A",!1]],["arrow-up-from-ground-water",["\uE4B5",!1]],["arrow-up-from-water-pump",["\uE4B6",!1]],["arrow-up-long",["\uF176",!1]],["arrow-up-right-dots",["\uE4B7",!1]],["arrow-up-right-from-square",["\uF08E",!1]],["arrow-up-short-wide",["\uF885",!1]],["arrow-up-wide-short",["\uF161",!1]],["arrow-up-z-a",["\uF882",!1]],["arrows-down-to-line",["\uE4B8",!1]],["arrows-down-to-people",["\uE4B9",!1]],["arrows-left-right",["\uF07E",!1]],["arrows-left-right-to-line",["\uE4BA",!1]],["arrows-rotate",["\uF021",!1]],["arrows-spin",["\uE4BB",!1]],["arrows-split-up-and-left",["\uE4BC",!1]],["arrows-to-circle",["\uE4BD",!1]],["arrows-to-dot",["\uE4BE",!1]],["arrows-to-eye",["\uE4BF",!1]],["arrows-turn-right",["\uE4C0",!1]],["arrows-turn-to-dots",["\uE4C1",!1]],["arrows-up-down",["\uF07D",!1]],["arrows-up-down-left-right",["\uF047",!1]],["arrows-up-to-line",["\uE4C2",!1]],["asterisk",["*",!1]],["at",["@",!1]],["atom",["\uF5D2",!1]],["audio-description",["\uF29E",!1]],["austral-sign",["\uE0A9",!1]],["award",["\uF559",!1]],["b",["B",!1]],["baby",["\uF77C",!1]],["baby-carriage",["\uF77D",!1]],["backward",["\uF04A",!1]],["backward-fast",["\uF049",!1]],["backward-step",["\uF048",!1]],["bacon",["\uF7E5",!1]],["bacteria",["\uE059",!1]],["bacterium",["\uE05A",!1]],["bag-shopping",["\uF290",!1]],["bahai",["\uF666",!1]],["baht-sign",["\uE0AC",!1]],["ban",["\uF05E",!1]],["ban-smoking",["\uF54D",!1]],["bandage",["\uF462",!1]],["bangladeshi-taka-sign",["\uE2E6",!1]],["barcode",["\uF02A",!1]],["bars",["\uF0C9",!1]],["bars-progress",["\uF828",!1]],["bars-staggered",["\uF550",!1]],["baseball",["\uF433",!1]],["baseball-bat-ball",["\uF432",!1]],["basket-shopping",["\uF291",!1]],["basketball",["\uF434",!1]],["bath",["\uF2CD",!1]],["battery-empty",["\uF244",!1]],["battery-full",["\uF240",!1]],["battery-half",["\uF242",!1]],["battery-quarter",["\uF243",!1]],["battery-three-quarters",["\uF241",!1]],["bed",["\uF236",!1]],["bed-pulse",["\uF487",!1]],["beer-mug-empty",["\uF0FC",!1]],["bell",["\uF0F3",!0]],["bell-concierge",["\uF562",!1]],["bell-slash",["\uF1F6",!0]],["bezier-curve",["\uF55B",!1]],["bicycle",["\uF206",!1]],["binoculars",["\uF1E5",!1]],["biohazard",["\uF780",!1]],["bitcoin-sign",["\uE0B4",!1]],["blender",["\uF517",!1]],["blender-phone",["\uF6B6",!1]],["blog",["\uF781",!1]],["bold",["\uF032",!1]],["bolt",["\uF0E7",!1]],["bolt-lightning",["\uE0B7",!1]],["bomb",["\uF1E2",!1]],["bone",["\uF5D7",!1]],["bong",["\uF55C",!1]],["book",["\uF02D",!1]],["book-atlas",["\uF558",!1]],["book-bible",["\uF647",!1]],["book-bookmark",["\uE0BB",!1]],["book-journal-whills",["\uF66A",!1]],["book-medical",["\uF7E6",!1]],["book-open",["\uF518",!1]],["book-open-reader",["\uF5DA",!1]],["book-quran",["\uF687",!1]],["book-skull",["\uF6B7",!1]],["book-tanakh",["\uF827",!1]],["bookmark",["\uF02E",!0]],["border-all",["\uF84C",!1]],["border-none",["\uF850",!1]],["border-top-left",["\uF853",!1]],["bore-hole",["\uE4C3",!1]],["bottle-droplet",["\uE4C4",!1]],["bottle-water",["\uE4C5",!1]],["bowl-food",["\uE4C6",!1]],["bowl-rice",["\uE2EB",!1]],["bowling-ball",["\uF436",!1]],["box",["\uF466",!1]],["box-archive",["\uF187",!1]],["box-open",["\uF49E",!1]],["box-tissue",["\uE05B",!1]],["boxes-packing",["\uE4C7",!1]],["boxes-stacked",["\uF468",!1]],["braille",["\uF2A1",!1]],["brain",["\uF5DC",!1]],["brazilian-real-sign",["\uE46C",!1]],["bread-slice",["\uF7EC",!1]],["bridge",["\uE4C8",!1]],["bridge-circle-check",["\uE4C9",!1]],["bridge-circle-exclamation",["\uE4CA",!1]],["bridge-circle-xmark",["\uE4CB",!1]],["bridge-lock",["\uE4CC",!1]],["bridge-water",["\uE4CE",!1]],["briefcase",["\uF0B1",!1]],["briefcase-medical",["\uF469",!1]],["broom",["\uF51A",!1]],["broom-ball",["\uF458",!1]],["brush",["\uF55D",!1]],["bucket",["\uE4CF",!1]],["bug",["\uF188",!1]],["bug-slash",["\uE490",!1]],["bugs",["\uE4D0",!1]],["building",["\uF1AD",!0]],["building-circle-arrow-right",["\uE4D1",!1]],["building-circle-check",["\uE4D2",!1]],["building-circle-exclamation",["\uE4D3",!1]],["building-circle-xmark",["\uE4D4",!1]],["building-columns",["\uF19C",!1]],["building-flag",["\uE4D5",!1]],["building-lock",["\uE4D6",!1]],["building-ngo",["\uE4D7",!1]],["building-shield",["\uE4D8",!1]],["building-un",["\uE4D9",!1]],["building-user",["\uE4DA",!1]],["building-wheat",["\uE4DB",!1]],["bullhorn",["\uF0A1",!1]],["bullseye",["\uF140",!1]],["burger",["\uF805",!1]],["burst",["\uE4DC",!1]],["bus",["\uF207",!1]],["bus-simple",["\uF55E",!1]],["business-time",["\uF64A",!1]],["c",["C",!1]],["cable-car",["\uF7DA",!1]],["cake-candles",["\uF1FD",!1]],["calculator",["\uF1EC",!1]],["calendar",["\uF133",!0]],["calendar-check",["\uF274",!0]],["calendar-day",["\uF783",!1]],["calendar-days",["\uF073",!0]],["calendar-minus",["\uF272",!0]],["calendar-plus",["\uF271",!0]],["calendar-week",["\uF784",!1]],["calendar-xmark",["\uF273",!0]],["camera",["\uF030",!1]],["camera-retro",["\uF083",!1]],["camera-rotate",["\uE0D8",!1]],["campground",["\uF6BB",!1]],["candy-cane",["\uF786",!1]],["cannabis",["\uF55F",!1]],["capsules",["\uF46B",!1]],["car",["\uF1B9",!1]],["car-battery",["\uF5DF",!1]],["car-burst",["\uF5E1",!1]],["car-on",["\uE4DD",!1]],["car-rear",["\uF5DE",!1]],["car-side",["\uF5E4",!1]],["car-tunnel",["\uE4DE",!1]],["caravan",["\uF8FF",!1]],["caret-down",["\uF0D7",!1]],["caret-left",["\uF0D9",!1]],["caret-right",["\uF0DA",!1]],["caret-up",["\uF0D8",!1]],["carrot",["\uF787",!1]],["cart-arrow-down",["\uF218",!1]],["cart-flatbed",["\uF474",!1]],["cart-flatbed-suitcase",["\uF59D",!1]],["cart-plus",["\uF217",!1]],["cart-shopping",["\uF07A",!1]],["cash-register",["\uF788",!1]],["cat",["\uF6BE",!1]],["cedi-sign",["\uE0DF",!1]],["cent-sign",["\uE3F5",!1]],["certificate",["\uF0A3",!1]],["chair",["\uF6C0",!1]],["chalkboard",["\uF51B",!1]],["chalkboard-user",["\uF51C",!1]],["champagne-glasses",["\uF79F",!1]],["charging-station",["\uF5E7",!1]],["chart-area",["\uF1FE",!1]],["chart-bar",["\uF080",!0]],["chart-column",["\uE0E3",!1]],["chart-gantt",["\uE0E4",!1]],["chart-line",["\uF201",!1]],["chart-pie",["\uF200",!1]],["chart-simple",["\uE473",!1]],["check",["\uF00C",!1]],["check-double",["\uF560",!1]],["check-to-slot",["\uF772",!1]],["cheese",["\uF7EF",!1]],["chess",["\uF439",!1]],["chess-bishop",["\uF43A",!0]],["chess-board",["\uF43C",!1]],["chess-king",["\uF43F",!0]],["chess-knight",["\uF441",!0]],["chess-pawn",["\uF443",!0]],["chess-queen",["\uF445",!0]],["chess-rook",["\uF447",!0]],["chevron-down",["\uF078",!1]],["chevron-left",["\uF053",!1]],["chevron-right",["\uF054",!1]],["chevron-up",["\uF077",!1]],["child",["\uF1AE",!1]],["child-combatant",["\uE4E0",!1]],["child-dress",["\uE59C",!1]],["child-reaching",["\uE59D",!1]],["children",["\uE4E1",!1]],["church",["\uF51D",!1]],["circle",["\uF111",!0]],["circle-arrow-down",["\uF0AB",!1]],["circle-arrow-left",["\uF0A8",!1]],["circle-arrow-right",["\uF0A9",!1]],["circle-arrow-up",["\uF0AA",!1]],["circle-check",["\uF058",!0]],["circle-chevron-down",["\uF13A",!1]],["circle-chevron-left",["\uF137",!1]],["circle-chevron-right",["\uF138",!1]],["circle-chevron-up",["\uF139",!1]],["circle-dollar-to-slot",["\uF4B9",!1]],["circle-dot",["\uF192",!0]],["circle-down",["\uF358",!0]],["circle-exclamation",["\uF06A",!1]],["circle-h",["\uF47E",!1]],["circle-half-stroke",["\uF042",!1]],["circle-info",["\uF05A",!1]],["circle-left",["\uF359",!0]],["circle-minus",["\uF056",!1]],["circle-nodes",["\uE4E2",!1]],["circle-notch",["\uF1CE",!1]],["circle-pause",["\uF28B",!0]],["circle-play",["\uF144",!0]],["circle-plus",["\uF055",!1]],["circle-question",["\uF059",!0]],["circle-radiation",["\uF7BA",!1]],["circle-right",["\uF35A",!0]],["circle-stop",["\uF28D",!0]],["circle-up",["\uF35B",!0]],["circle-user",["\uF2BD",!0]],["circle-xmark",["\uF057",!0]],["city",["\uF64F",!1]],["clapperboard",["\uE131",!1]],["clipboard",["\uF328",!0]],["clipboard-check",["\uF46C",!1]],["clipboard-list",["\uF46D",!1]],["clipboard-question",["\uE4E3",!1]],["clipboard-user",["\uF7F3",!1]],["clock",["\uF017",!0]],["clock-rotate-left",["\uF1DA",!1]],["clone",["\uF24D",!0]],["closed-captioning",["\uF20A",!0]],["cloud",["\uF0C2",!1]],["cloud-arrow-down",["\uF0ED",!1]],["cloud-arrow-up",["\uF0EE",!1]],["cloud-bolt",["\uF76C",!1]],["cloud-meatball",["\uF73B",!1]],["cloud-moon",["\uF6C3",!1]],["cloud-moon-rain",["\uF73C",!1]],["cloud-rain",["\uF73D",!1]],["cloud-showers-heavy",["\uF740",!1]],["cloud-showers-water",["\uE4E4",!1]],["cloud-sun",["\uF6C4",!1]],["cloud-sun-rain",["\uF743",!1]],["clover",["\uE139",!1]],["code",["\uF121",!1]],["code-branch",["\uF126",!1]],["code-commit",["\uF386",!1]],["code-compare",["\uE13A",!1]],["code-fork",["\uE13B",!1]],["code-merge",["\uF387",!1]],["code-pull-request",["\uE13C",!1]],["coins",["\uF51E",!1]],["colon-sign",["\uE140",!1]],["comment",["\uF075",!0]],["comment-dollar",["\uF651",!1]],["comment-dots",["\uF4AD",!0]],["comment-medical",["\uF7F5",!1]],["comment-slash",["\uF4B3",!1]],["comment-sms",["\uF7CD",!1]],["comments",["\uF086",!0]],["comments-dollar",["\uF653",!1]],["compact-disc",["\uF51F",!1]],["compass",["\uF14E",!0]],["compass-drafting",["\uF568",!1]],["compress",["\uF066",!1]],["computer",["\uE4E5",!1]],["computer-mouse",["\uF8CC",!1]],["cookie",["\uF563",!1]],["cookie-bite",["\uF564",!1]],["copy",["\uF0C5",!0]],["copyright",["\uF1F9",!0]],["couch",["\uF4B8",!1]],["cow",["\uF6C8",!1]],["credit-card",["\uF09D",!0]],["crop",["\uF125",!1]],["crop-simple",["\uF565",!1]],["cross",["\uF654",!1]],["crosshairs",["\uF05B",!1]],["crow",["\uF520",!1]],["crown",["\uF521",!1]],["crutch",["\uF7F7",!1]],["cruzeiro-sign",["\uE152",!1]],["cube",["\uF1B2",!1]],["cubes",["\uF1B3",!1]],["cubes-stacked",["\uE4E6",!1]],["d",["D",!1]],["database",["\uF1C0",!1]],["delete-left",["\uF55A",!1]],["democrat",["\uF747",!1]],["desktop",["\uF390",!1]],["dharmachakra",["\uF655",!1]],["diagram-next",["\uE476",!1]],["diagram-predecessor",["\uE477",!1]],["diagram-project",["\uF542",!1]],["diagram-successor",["\uE47A",!1]],["diamond",["\uF219",!1]],["diamond-turn-right",["\uF5EB",!1]],["dice",["\uF522",!1]],["dice-d20",["\uF6CF",!1]],["dice-d6",["\uF6D1",!1]],["dice-five",["\uF523",!1]],["dice-four",["\uF524",!1]],["dice-one",["\uF525",!1]],["dice-six",["\uF526",!1]],["dice-three",["\uF527",!1]],["dice-two",["\uF528",!1]],["disease",["\uF7FA",!1]],["display",["\uE163",!1]],["divide",["\uF529",!1]],["dna",["\uF471",!1]],["dog",["\uF6D3",!1]],["dollar-sign",["$",!1]],["dolly",["\uF472",!1]],["dong-sign",["\uE169",!1]],["door-closed",["\uF52A",!1]],["door-open",["\uF52B",!1]],["dove",["\uF4BA",!1]],["down-left-and-up-right-to-center",["\uF422",!1]],["down-long",["\uF309",!1]],["download",["\uF019",!1]],["dragon",["\uF6D5",!1]],["draw-polygon",["\uF5EE",!1]],["droplet",["\uF043",!1]],["droplet-slash",["\uF5C7",!1]],["drum",["\uF569",!1]],["drum-steelpan",["\uF56A",!1]],["drumstick-bite",["\uF6D7",!1]],["dumbbell",["\uF44B",!1]],["dumpster",["\uF793",!1]],["dumpster-fire",["\uF794",!1]],["dungeon",["\uF6D9",!1]],["e",["E",!1]],["ear-deaf",["\uF2A4",!1]],["ear-listen",["\uF2A2",!1]],["earth-africa",["\uF57C",!1]],["earth-americas",["\uF57D",!1]],["earth-asia",["\uF57E",!1]],["earth-europe",["\uF7A2",!1]],["earth-oceania",["\uE47B",!1]],["egg",["\uF7FB",!1]],["eject",["\uF052",!1]],["elevator",["\uE16D",!1]],["ellipsis",["\uF141",!1]],["ellipsis-vertical",["\uF142",!1]],["envelope",["\uF0E0",!0]],["envelope-circle-check",["\uE4E8",!1]],["envelope-open",["\uF2B6",!0]],["envelope-open-text",["\uF658",!1]],["envelopes-bulk",["\uF674",!1]],["equals",["=",!1]],["eraser",["\uF12D",!1]],["ethernet",["\uF796",!1]],["euro-sign",["\uF153",!1]],["exclamation",["!",!1]],["expand",["\uF065",!1]],["explosion",["\uE4E9",!1]],["eye",["\uF06E",!0]],["eye-dropper",["\uF1FB",!1]],["eye-low-vision",["\uF2A8",!1]],["eye-slash",["\uF070",!0]],["f",["F",!1]],["face-angry",["\uF556",!0]],["face-dizzy",["\uF567",!0]],["face-flushed",["\uF579",!0]],["face-frown",["\uF119",!0]],["face-frown-open",["\uF57A",!0]],["face-grimace",["\uF57F",!0]],["face-grin",["\uF580",!0]],["face-grin-beam",["\uF582",!0]],["face-grin-beam-sweat",["\uF583",!0]],["face-grin-hearts",["\uF584",!0]],["face-grin-squint",["\uF585",!0]],["face-grin-squint-tears",["\uF586",!0]],["face-grin-stars",["\uF587",!0]],["face-grin-tears",["\uF588",!0]],["face-grin-tongue",["\uF589",!0]],["face-grin-tongue-squint",["\uF58A",!0]],["face-grin-tongue-wink",["\uF58B",!0]],["face-grin-wide",["\uF581",!0]],["face-grin-wink",["\uF58C",!0]],["face-kiss",["\uF596",!0]],["face-kiss-beam",["\uF597",!0]],["face-kiss-wink-heart",["\uF598",!0]],["face-laugh",["\uF599",!0]],["face-laugh-beam",["\uF59A",!0]],["face-laugh-squint",["\uF59B",!0]],["face-laugh-wink",["\uF59C",!0]],["face-meh",["\uF11A",!0]],["face-meh-blank",["\uF5A4",!0]],["face-rolling-eyes",["\uF5A5",!0]],["face-sad-cry",["\uF5B3",!0]],["face-sad-tear",["\uF5B4",!0]],["face-smile",["\uF118",!0]],["face-smile-beam",["\uF5B8",!0]],["face-smile-wink",["\uF4DA",!0]],["face-surprise",["\uF5C2",!0]],["face-tired",["\uF5C8",!0]],["fan",["\uF863",!1]],["faucet",["\uE005",!1]],["faucet-drip",["\uE006",!1]],["fax",["\uF1AC",!1]],["feather",["\uF52D",!1]],["feather-pointed",["\uF56B",!1]],["ferry",["\uE4EA",!1]],["file",["\uF15B",!0]],["file-arrow-down",["\uF56D",!1]],["file-arrow-up",["\uF574",!1]],["file-audio",["\uF1C7",!0]],["file-circle-check",["\uE5A0",!1]],["file-circle-exclamation",["\uE4EB",!1]],["file-circle-minus",["\uE4ED",!1]],["file-circle-plus",["\uE494",!1]],["file-circle-question",["\uE4EF",!1]],["file-circle-xmark",["\uE5A1",!1]],["file-code",["\uF1C9",!0]],["file-contract",["\uF56C",!1]],["file-csv",["\uF6DD",!1]],["file-excel",["\uF1C3",!0]],["file-export",["\uF56E",!1]],["file-image",["\uF1C5",!0]],["file-import",["\uF56F",!1]],["file-invoice",["\uF570",!1]],["file-invoice-dollar",["\uF571",!1]],["file-lines",["\uF15C",!0]],["file-medical",["\uF477",!1]],["file-pdf",["\uF1C1",!0]],["file-pen",["\uF31C",!1]],["file-powerpoint",["\uF1C4",!0]],["file-prescription",["\uF572",!1]],["file-shield",["\uE4F0",!1]],["file-signature",["\uF573",!1]],["file-video",["\uF1C8",!0]],["file-waveform",["\uF478",!1]],["file-word",["\uF1C2",!0]],["file-zipper",["\uF1C6",!0]],["fill",["\uF575",!1]],["fill-drip",["\uF576",!1]],["film",["\uF008",!1]],["filter",["\uF0B0",!1]],["filter-circle-dollar",["\uF662",!1]],["filter-circle-xmark",["\uE17B",!1]],["fingerprint",["\uF577",!1]],["fire",["\uF06D",!1]],["fire-burner",["\uE4F1",!1]],["fire-extinguisher",["\uF134",!1]],["fire-flame-curved",["\uF7E4",!1]],["fire-flame-simple",["\uF46A",!1]],["fish",["\uF578",!1]],["fish-fins",["\uE4F2",!1]],["flag",["\uF024",!0]],["flag-checkered",["\uF11E",!1]],["flag-usa",["\uF74D",!1]],["flask",["\uF0C3",!1]],["flask-vial",["\uE4F3",!1]],["floppy-disk",["\uF0C7",!0]],["florin-sign",["\uE184",!1]],["folder",["\uF07B",!0]],["folder-closed",["\uE185",!0]],["folder-minus",["\uF65D",!1]],["folder-open",["\uF07C",!0]],["folder-plus",["\uF65E",!1]],["folder-tree",["\uF802",!1]],["font",["\uF031",!1]],["football",["\uF44E",!1]],["forward",["\uF04E",!1]],["forward-fast",["\uF050",!1]],["forward-step",["\uF051",!1]],["franc-sign",["\uE18F",!1]],["frog",["\uF52E",!1]],["futbol",["\uF1E3",!0]],["g",["G",!1]],["gamepad",["\uF11B",!1]],["gas-pump",["\uF52F",!1]],["gauge",["\uF624",!1]],["gauge-high",["\uF625",!1]],["gauge-simple",["\uF629",!1]],["gauge-simple-high",["\uF62A",!1]],["gavel",["\uF0E3",!1]],["gear",["\uF013",!1]],["gears",["\uF085",!1]],["gem",["\uF3A5",!0]],["genderless",["\uF22D",!1]],["ghost",["\uF6E2",!1]],["gift",["\uF06B",!1]],["gifts",["\uF79C",!1]],["glass-water",["\uE4F4",!1]],["glass-water-droplet",["\uE4F5",!1]],["glasses",["\uF530",!1]],["globe",["\uF0AC",!1]],["golf-ball-tee",["\uF450",!1]],["gopuram",["\uF664",!1]],["graduation-cap",["\uF19D",!1]],["greater-than",[">",!1]],["greater-than-equal",["\uF532",!1]],["grip",["\uF58D",!1]],["grip-lines",["\uF7A4",!1]],["grip-lines-vertical",["\uF7A5",!1]],["grip-vertical",["\uF58E",!1]],["group-arrows-rotate",["\uE4F6",!1]],["guarani-sign",["\uE19A",!1]],["guitar",["\uF7A6",!1]],["gun",["\uE19B",!1]],["h",["H",!1]],["hammer",["\uF6E3",!1]],["hamsa",["\uF665",!1]],["hand",["\uF256",!0]],["hand-back-fist",["\uF255",!0]],["hand-dots",["\uF461",!1]],["hand-fist",["\uF6DE",!1]],["hand-holding",["\uF4BD",!1]],["hand-holding-dollar",["\uF4C0",!1]],["hand-holding-droplet",["\uF4C1",!1]],["hand-holding-hand",["\uE4F7",!1]],["hand-holding-heart",["\uF4BE",!1]],["hand-holding-medical",["\uE05C",!1]],["hand-lizard",["\uF258",!0]],["hand-middle-finger",["\uF806",!1]],["hand-peace",["\uF25B",!0]],["hand-point-down",["\uF0A7",!0]],["hand-point-left",["\uF0A5",!0]],["hand-point-right",["\uF0A4",!0]],["hand-point-up",["\uF0A6",!0]],["hand-pointer",["\uF25A",!0]],["hand-scissors",["\uF257",!0]],["hand-sparkles",["\uE05D",!1]],["hand-spock",["\uF259",!0]],["handcuffs",["\uE4F8",!1]],["hands",["\uF2A7",!1]],["hands-asl-interpreting",["\uF2A3",!1]],["hands-bound",["\uE4F9",!1]],["hands-bubbles",["\uE05E",!1]],["hands-clapping",["\uE1A8",!1]],["hands-holding",["\uF4C2",!1]],["hands-holding-child",["\uE4FA",!1]],["hands-holding-circle",["\uE4FB",!1]],["hands-praying",["\uF684",!1]],["handshake",["\uF2B5",!0]],["handshake-angle",["\uF4C4",!1]],["handshake-simple",["\uF4C6",!1]],["handshake-simple-slash",["\uE05F",!1]],["handshake-slash",["\uE060",!1]],["hanukiah",["\uF6E6",!1]],["hard-drive",["\uF0A0",!0]],["hashtag",["#",!1]],["hat-cowboy",["\uF8C0",!1]],["hat-cowboy-side",["\uF8C1",!1]],["hat-wizard",["\uF6E8",!1]],["head-side-cough",["\uE061",!1]],["head-side-cough-slash",["\uE062",!1]],["head-side-mask",["\uE063",!1]],["head-side-virus",["\uE064",!1]],["heading",["\uF1DC",!1]],["headphones",["\uF025",!1]],["headphones-simple",["\uF58F",!1]],["headset",["\uF590",!1]],["heart",["\uF004",!0]],["heart-circle-bolt",["\uE4FC",!1]],["heart-circle-check",["\uE4FD",!1]],["heart-circle-exclamation",["\uE4FE",!1]],["heart-circle-minus",["\uE4FF",!1]],["heart-circle-plus",["\uE500",!1]],["heart-circle-xmark",["\uE501",!1]],["heart-crack",["\uF7A9",!1]],["heart-pulse",["\uF21E",!1]],["helicopter",["\uF533",!1]],["helicopter-symbol",["\uE502",!1]],["helmet-safety",["\uF807",!1]],["helmet-un",["\uE503",!1]],["highlighter",["\uF591",!1]],["hill-avalanche",["\uE507",!1]],["hill-rockslide",["\uE508",!1]],["hippo",["\uF6ED",!1]],["hockey-puck",["\uF453",!1]],["holly-berry",["\uF7AA",!1]],["horse",["\uF6F0",!1]],["horse-head",["\uF7AB",!1]],["hospital",["\uF0F8",!0]],["hospital-user",["\uF80D",!1]],["hot-tub-person",["\uF593",!1]],["hotdog",["\uF80F",!1]],["hotel",["\uF594",!1]],["hourglass",["\uF254",!0]],["hourglass-end",["\uF253",!1]],["hourglass-half",["\uF252",!0]],["hourglass-start",["\uF251",!1]],["house",["\uF015",!1]],["house-chimney",["\uE3AF",!1]],["house-chimney-crack",["\uF6F1",!1]],["house-chimney-medical",["\uF7F2",!1]],["house-chimney-user",["\uE065",!1]],["house-chimney-window",["\uE00D",!1]],["house-circle-check",["\uE509",!1]],["house-circle-exclamation",["\uE50A",!1]],["house-circle-xmark",["\uE50B",!1]],["house-crack",["\uE3B1",!1]],["house-fire",["\uE50C",!1]],["house-flag",["\uE50D",!1]],["house-flood-water",["\uE50E",!1]],["house-flood-water-circle-arrow-right",["\uE50F",!1]],["house-laptop",["\uE066",!1]],["house-lock",["\uE510",!1]],["house-medical",["\uE3B2",!1]],["house-medical-circle-check",["\uE511",!1]],["house-medical-circle-exclamation",["\uE512",!1]],["house-medical-circle-xmark",["\uE513",!1]],["house-medical-flag",["\uE514",!1]],["house-signal",["\uE012",!1]],["house-tsunami",["\uE515",!1]],["house-user",["\uE1B0",!1]],["hryvnia-sign",["\uF6F2",!1]],["hurricane",["\uF751",!1]],["i",["I",!1]],["i-cursor",["\uF246",!1]],["ice-cream",["\uF810",!1]],["icicles",["\uF7AD",!1]],["icons",["\uF86D",!1]],["id-badge",["\uF2C1",!0]],["id-card",["\uF2C2",!0]],["id-card-clip",["\uF47F",!1]],["igloo",["\uF7AE",!1]],["image",["\uF03E",!0]],["image-portrait",["\uF3E0",!1]],["images",["\uF302",!0]],["inbox",["\uF01C",!1]],["indent",["\uF03C",!1]],["indian-rupee-sign",["\uE1BC",!1]],["industry",["\uF275",!1]],["infinity",["\uF534",!1]],["info",["\uF129",!1]],["italic",["\uF033",!1]],["j",["J",!1]],["jar",["\uE516",!1]],["jar-wheat",["\uE517",!1]],["jedi",["\uF669",!1]],["jet-fighter",["\uF0FB",!1]],["jet-fighter-up",["\uE518",!1]],["joint",["\uF595",!1]],["jug-detergent",["\uE519",!1]],["k",["K",!1]],["kaaba",["\uF66B",!1]],["key",["\uF084",!1]],["keyboard",["\uF11C",!0]],["khanda",["\uF66D",!1]],["kip-sign",["\uE1C4",!1]],["kit-medical",["\uF479",!1]],["kitchen-set",["\uE51A",!1]],["kiwi-bird",["\uF535",!1]],["l",["L",!1]],["land-mine-on",["\uE51B",!1]],["landmark",["\uF66F",!1]],["landmark-dome",["\uF752",!1]],["landmark-flag",["\uE51C",!1]],["language",["\uF1AB",!1]],["laptop",["\uF109",!1]],["laptop-code",["\uF5FC",!1]],["laptop-file",["\uE51D",!1]],["laptop-medical",["\uF812",!1]],["lari-sign",["\uE1C8",!1]],["layer-group",["\uF5FD",!1]],["leaf",["\uF06C",!1]],["left-long",["\uF30A",!1]],["left-right",["\uF337",!1]],["lemon",["\uF094",!0]],["less-than",["<",!1]],["less-than-equal",["\uF537",!1]],["life-ring",["\uF1CD",!0]],["lightbulb",["\uF0EB",!0]],["lines-leaning",["\uE51E",!1]],["link",["\uF0C1",!1]],["link-slash",["\uF127",!1]],["lira-sign",["\uF195",!1]],["list",["\uF03A",!1]],["list-check",["\uF0AE",!1]],["list-ol",["\uF0CB",!1]],["list-ul",["\uF0CA",!1]],["litecoin-sign",["\uE1D3",!1]],["location-arrow",["\uF124",!1]],["location-crosshairs",["\uF601",!1]],["location-dot",["\uF3C5",!1]],["location-pin",["\uF041",!1]],["location-pin-lock",["\uE51F",!1]],["lock",["\uF023",!1]],["lock-open",["\uF3C1",!1]],["locust",["\uE520",!1]],["lungs",["\uF604",!1]],["lungs-virus",["\uE067",!1]],["m",["M",!1]],["magnet",["\uF076",!1]],["magnifying-glass",["\uF002",!1]],["magnifying-glass-arrow-right",["\uE521",!1]],["magnifying-glass-chart",["\uE522",!1]],["magnifying-glass-dollar",["\uF688",!1]],["magnifying-glass-location",["\uF689",!1]],["magnifying-glass-minus",["\uF010",!1]],["magnifying-glass-plus",["\uF00E",!1]],["manat-sign",["\uE1D5",!1]],["map",["\uF279",!0]],["map-location",["\uF59F",!1]],["map-location-dot",["\uF5A0",!1]],["map-pin",["\uF276",!1]],["marker",["\uF5A1",!1]],["mars",["\uF222",!1]],["mars-and-venus",["\uF224",!1]],["mars-and-venus-burst",["\uE523",!1]],["mars-double",["\uF227",!1]],["mars-stroke",["\uF229",!1]],["mars-stroke-right",["\uF22B",!1]],["mars-stroke-up",["\uF22A",!1]],["martini-glass",["\uF57B",!1]],["martini-glass-citrus",["\uF561",!1]],["martini-glass-empty",["\uF000",!1]],["mask",["\uF6FA",!1]],["mask-face",["\uE1D7",!1]],["mask-ventilator",["\uE524",!1]],["masks-theater",["\uF630",!1]],["mattress-pillow",["\uE525",!1]],["maximize",["\uF31E",!1]],["medal",["\uF5A2",!1]],["memory",["\uF538",!1]],["menorah",["\uF676",!1]],["mercury",["\uF223",!1]],["message",["\uF27A",!0]],["meteor",["\uF753",!1]],["microchip",["\uF2DB",!1]],["microphone",["\uF130",!1]],["microphone-lines",["\uF3C9",!1]],["microphone-lines-slash",["\uF539",!1]],["microphone-slash",["\uF131",!1]],["microscope",["\uF610",!1]],["mill-sign",["\uE1ED",!1]],["minimize",["\uF78C",!1]],["minus",["\uF068",!1]],["mitten",["\uF7B5",!1]],["mobile",["\uF3CE",!1]],["mobile-button",["\uF10B",!1]],["mobile-retro",["\uE527",!1]],["mobile-screen",["\uF3CF",!1]],["mobile-screen-button",["\uF3CD",!1]],["money-bill",["\uF0D6",!1]],["money-bill-1",["\uF3D1",!0]],["money-bill-1-wave",["\uF53B",!1]],["money-bill-transfer",["\uE528",!1]],["money-bill-trend-up",["\uE529",!1]],["money-bill-wave",["\uF53A",!1]],["money-bill-wheat",["\uE52A",!1]],["money-bills",["\uE1F3",!1]],["money-check",["\uF53C",!1]],["money-check-dollar",["\uF53D",!1]],["monument",["\uF5A6",!1]],["moon",["\uF186",!0]],["mortar-pestle",["\uF5A7",!1]],["mosque",["\uF678",!1]],["mosquito",["\uE52B",!1]],["mosquito-net",["\uE52C",!1]],["motorcycle",["\uF21C",!1]],["mound",["\uE52D",!1]],["mountain",["\uF6FC",!1]],["mountain-city",["\uE52E",!1]],["mountain-sun",["\uE52F",!1]],["mug-hot",["\uF7B6",!1]],["mug-saucer",["\uF0F4",!1]],["music",["\uF001",!1]],["n",["N",!1]],["naira-sign",["\uE1F6",!1]],["network-wired",["\uF6FF",!1]],["neuter",["\uF22C",!1]],["newspaper",["\uF1EA",!0]],["not-equal",["\uF53E",!1]],["notdef",["\uE1FE",!1]],["note-sticky",["\uF249",!0]],["notes-medical",["\uF481",!1]],["o",["O",!1]],["object-group",["\uF247",!0]],["object-ungroup",["\uF248",!0]],["oil-can",["\uF613",!1]],["oil-well",["\uE532",!1]],["om",["\uF679",!1]],["otter",["\uF700",!1]],["outdent",["\uF03B",!1]],["p",["P",!1]],["pager",["\uF815",!1]],["paint-roller",["\uF5AA",!1]],["paintbrush",["\uF1FC",!1]],["palette",["\uF53F",!1]],["pallet",["\uF482",!1]],["panorama",["\uE209",!1]],["paper-plane",["\uF1D8",!0]],["paperclip",["\uF0C6",!1]],["parachute-box",["\uF4CD",!1]],["paragraph",["\uF1DD",!1]],["passport",["\uF5AB",!1]],["paste",["\uF0EA",!0]],["pause",["\uF04C",!1]],["paw",["\uF1B0",!1]],["peace",["\uF67C",!1]],["pen",["\uF304",!1]],["pen-clip",["\uF305",!1]],["pen-fancy",["\uF5AC",!1]],["pen-nib",["\uF5AD",!1]],["pen-ruler",["\uF5AE",!1]],["pen-to-square",["\uF044",!0]],["pencil",["\uF303",!1]],["people-arrows",["\uE068",!1]],["people-carry-box",["\uF4CE",!1]],["people-group",["\uE533",!1]],["people-line",["\uE534",!1]],["people-pulling",["\uE535",!1]],["people-robbery",["\uE536",!1]],["people-roof",["\uE537",!1]],["pepper-hot",["\uF816",!1]],["percent",["%",!1]],["person",["\uF183",!1]],["person-arrow-down-to-line",["\uE538",!1]],["person-arrow-up-from-line",["\uE539",!1]],["person-biking",["\uF84A",!1]],["person-booth",["\uF756",!1]],["person-breastfeeding",["\uE53A",!1]],["person-burst",["\uE53B",!1]],["person-cane",["\uE53C",!1]],["person-chalkboard",["\uE53D",!1]],["person-circle-check",["\uE53E",!1]],["person-circle-exclamation",["\uE53F",!1]],["person-circle-minus",["\uE540",!1]],["person-circle-plus",["\uE541",!1]],["person-circle-question",["\uE542",!1]],["person-circle-xmark",["\uE543",!1]],["person-digging",["\uF85E",!1]],["person-dots-from-line",["\uF470",!1]],["person-dress",["\uF182",!1]],["person-dress-burst",["\uE544",!1]],["person-drowning",["\uE545",!1]],["person-falling",["\uE546",!1]],["person-falling-burst",["\uE547",!1]],["person-half-dress",["\uE548",!1]],["person-harassing",["\uE549",!1]],["person-hiking",["\uF6EC",!1]],["person-military-pointing",["\uE54A",!1]],["person-military-rifle",["\uE54B",!1]],["person-military-to-person",["\uE54C",!1]],["person-praying",["\uF683",!1]],["person-pregnant",["\uE31E",!1]],["person-rays",["\uE54D",!1]],["person-rifle",["\uE54E",!1]],["person-running",["\uF70C",!1]],["person-shelter",["\uE54F",!1]],["person-skating",["\uF7C5",!1]],["person-skiing",["\uF7C9",!1]],["person-skiing-nordic",["\uF7CA",!1]],["person-snowboarding",["\uF7CE",!1]],["person-swimming",["\uF5C4",!1]],["person-through-window",["\uE5A9",!1]],["person-walking",["\uF554",!1]],["person-walking-arrow-loop-left",["\uE551",!1]],["person-walking-arrow-right",["\uE552",!1]],["person-walking-dashed-line-arrow-right",["\uE553",!1]],["person-walking-luggage",["\uE554",!1]],["person-walking-with-cane",["\uF29D",!1]],["peseta-sign",["\uE221",!1]],["peso-sign",["\uE222",!1]],["phone",["\uF095",!1]],["phone-flip",["\uF879",!1]],["phone-slash",["\uF3DD",!1]],["phone-volume",["\uF2A0",!1]],["photo-film",["\uF87C",!1]],["piggy-bank",["\uF4D3",!1]],["pills",["\uF484",!1]],["pizza-slice",["\uF818",!1]],["place-of-worship",["\uF67F",!1]],["plane",["\uF072",!1]],["plane-arrival",["\uF5AF",!1]],["plane-circle-check",["\uE555",!1]],["plane-circle-exclamation",["\uE556",!1]],["plane-circle-xmark",["\uE557",!1]],["plane-departure",["\uF5B0",!1]],["plane-lock",["\uE558",!1]],["plane-slash",["\uE069",!1]],["plane-up",["\uE22D",!1]],["plant-wilt",["\uE5AA",!1]],["plate-wheat",["\uE55A",!1]],["play",["\uF04B",!1]],["plug",["\uF1E6",!1]],["plug-circle-bolt",["\uE55B",!1]],["plug-circle-check",["\uE55C",!1]],["plug-circle-exclamation",["\uE55D",!1]],["plug-circle-minus",["\uE55E",!1]],["plug-circle-plus",["\uE55F",!1]],["plug-circle-xmark",["\uE560",!1]],["plus",["+",!1]],["plus-minus",["\uE43C",!1]],["podcast",["\uF2CE",!1]],["poo",["\uF2FE",!1]],["poo-storm",["\uF75A",!1]],["poop",["\uF619",!1]],["power-off",["\uF011",!1]],["prescription",["\uF5B1",!1]],["prescription-bottle",["\uF485",!1]],["prescription-bottle-medical",["\uF486",!1]],["print",["\uF02F",!1]],["pump-medical",["\uE06A",!1]],["pump-soap",["\uE06B",!1]],["puzzle-piece",["\uF12E",!1]],["q",["Q",!1]],["qrcode",["\uF029",!1]],["question",["?",!1]],["quote-left",["\uF10D",!1]],["quote-right",["\uF10E",!1]],["r",["R",!1]],["radiation",["\uF7B9",!1]],["radio",["\uF8D7",!1]],["rainbow",["\uF75B",!1]],["ranking-star",["\uE561",!1]],["receipt",["\uF543",!1]],["record-vinyl",["\uF8D9",!1]],["rectangle-ad",["\uF641",!1]],["rectangle-list",["\uF022",!0]],["rectangle-xmark",["\uF410",!0]],["recycle",["\uF1B8",!1]],["registered",["\uF25D",!0]],["repeat",["\uF363",!1]],["reply",["\uF3E5",!1]],["reply-all",["\uF122",!1]],["republican",["\uF75E",!1]],["restroom",["\uF7BD",!1]],["retweet",["\uF079",!1]],["ribbon",["\uF4D6",!1]],["right-from-bracket",["\uF2F5",!1]],["right-left",["\uF362",!1]],["right-long",["\uF30B",!1]],["right-to-bracket",["\uF2F6",!1]],["ring",["\uF70B",!1]],["road",["\uF018",!1]],["road-barrier",["\uE562",!1]],["road-bridge",["\uE563",!1]],["road-circle-check",["\uE564",!1]],["road-circle-exclamation",["\uE565",!1]],["road-circle-xmark",["\uE566",!1]],["road-lock",["\uE567",!1]],["road-spikes",["\uE568",!1]],["robot",["\uF544",!1]],["rocket",["\uF135",!1]],["rotate",["\uF2F1",!1]],["rotate-left",["\uF2EA",!1]],["rotate-right",["\uF2F9",!1]],["route",["\uF4D7",!1]],["rss",["\uF09E",!1]],["ruble-sign",["\uF158",!1]],["rug",["\uE569",!1]],["ruler",["\uF545",!1]],["ruler-combined",["\uF546",!1]],["ruler-horizontal",["\uF547",!1]],["ruler-vertical",["\uF548",!1]],["rupee-sign",["\uF156",!1]],["rupiah-sign",["\uE23D",!1]],["s",["S",!1]],["sack-dollar",["\uF81D",!1]],["sack-xmark",["\uE56A",!1]],["sailboat",["\uE445",!1]],["satellite",["\uF7BF",!1]],["satellite-dish",["\uF7C0",!1]],["scale-balanced",["\uF24E",!1]],["scale-unbalanced",["\uF515",!1]],["scale-unbalanced-flip",["\uF516",!1]],["school",["\uF549",!1]],["school-circle-check",["\uE56B",!1]],["school-circle-exclamation",["\uE56C",!1]],["school-circle-xmark",["\uE56D",!1]],["school-flag",["\uE56E",!1]],["school-lock",["\uE56F",!1]],["scissors",["\uF0C4",!1]],["screwdriver",["\uF54A",!1]],["screwdriver-wrench",["\uF7D9",!1]],["scroll",["\uF70E",!1]],["scroll-torah",["\uF6A0",!1]],["sd-card",["\uF7C2",!1]],["section",["\uE447",!1]],["seedling",["\uF4D8",!1]],["server",["\uF233",!1]],["shapes",["\uF61F",!1]],["share",["\uF064",!1]],["share-from-square",["\uF14D",!0]],["share-nodes",["\uF1E0",!1]],["sheet-plastic",["\uE571",!1]],["shekel-sign",["\uF20B",!1]],["shield",["\uF132",!1]],["shield-cat",["\uE572",!1]],["shield-dog",["\uE573",!1]],["shield-halved",["\uF3ED",!1]],["shield-heart",["\uE574",!1]],["shield-virus",["\uE06C",!1]],["ship",["\uF21A",!1]],["shirt",["\uF553",!1]],["shoe-prints",["\uF54B",!1]],["shop",["\uF54F",!1]],["shop-lock",["\uE4A5",!1]],["shop-slash",["\uE070",!1]],["shower",["\uF2CC",!1]],["shrimp",["\uE448",!1]],["shuffle",["\uF074",!1]],["shuttle-space",["\uF197",!1]],["sign-hanging",["\uF4D9",!1]],["signal",["\uF012",!1]],["signature",["\uF5B7",!1]],["signs-post",["\uF277",!1]],["sim-card",["\uF7C4",!1]],["sink",["\uE06D",!1]],["sitemap",["\uF0E8",!1]],["skull",["\uF54C",!1]],["skull-crossbones",["\uF714",!1]],["slash",["\uF715",!1]],["sleigh",["\uF7CC",!1]],["sliders",["\uF1DE",!1]],["smog",["\uF75F",!1]],["smoking",["\uF48D",!1]],["snowflake",["\uF2DC",!0]],["snowman",["\uF7D0",!1]],["snowplow",["\uF7D2",!1]],["soap",["\uE06E",!1]],["socks",["\uF696",!1]],["solar-panel",["\uF5BA",!1]],["sort",["\uF0DC",!1]],["sort-down",["\uF0DD",!1]],["sort-up",["\uF0DE",!1]],["spa",["\uF5BB",!1]],["spaghetti-monster-flying",["\uF67B",!1]],["spell-check",["\uF891",!1]],["spider",["\uF717",!1]],["spinner",["\uF110",!1]],["splotch",["\uF5BC",!1]],["spoon",["\uF2E5",!1]],["spray-can",["\uF5BD",!1]],["spray-can-sparkles",["\uF5D0",!1]],["square",["\uF0C8",!0]],["square-arrow-up-right",["\uF14C",!1]],["square-caret-down",["\uF150",!0]],["square-caret-left",["\uF191",!0]],["square-caret-right",["\uF152",!0]],["square-caret-up",["\uF151",!0]],["square-check",["\uF14A",!0]],["square-envelope",["\uF199",!1]],["square-full",["\uF45C",!0]],["square-h",["\uF0FD",!1]],["square-minus",["\uF146",!0]],["square-nfi",["\uE576",!1]],["square-parking",["\uF540",!1]],["square-pen",["\uF14B",!1]],["square-person-confined",["\uE577",!1]],["square-phone",["\uF098",!1]],["square-phone-flip",["\uF87B",!1]],["square-plus",["\uF0FE",!0]],["square-poll-horizontal",["\uF682",!1]],["square-poll-vertical",["\uF681",!1]],["square-root-variable",["\uF698",!1]],["square-rss",["\uF143",!1]],["square-share-nodes",["\uF1E1",!1]],["square-up-right",["\uF360",!1]],["square-virus",["\uE578",!1]],["square-xmark",["\uF2D3",!1]],["staff-snake",["\uE579",!1]],["stairs",["\uE289",!1]],["stamp",["\uF5BF",!1]],["stapler",["\uE5AF",!1]],["star",["\uF005",!0]],["star-and-crescent",["\uF699",!1]],["star-half",["\uF089",!0]],["star-half-stroke",["\uF5C0",!0]],["star-of-david",["\uF69A",!1]],["star-of-life",["\uF621",!1]],["sterling-sign",["\uF154",!1]],["stethoscope",["\uF0F1",!1]],["stop",["\uF04D",!1]],["stopwatch",["\uF2F2",!1]],["stopwatch-20",["\uE06F",!1]],["store",["\uF54E",!1]],["store-slash",["\uE071",!1]],["street-view",["\uF21D",!1]],["strikethrough",["\uF0CC",!1]],["stroopwafel",["\uF551",!1]],["subscript",["\uF12C",!1]],["suitcase",["\uF0F2",!1]],["suitcase-medical",["\uF0FA",!1]],["suitcase-rolling",["\uF5C1",!1]],["sun",["\uF185",!0]],["sun-plant-wilt",["\uE57A",!1]],["superscript",["\uF12B",!1]],["swatchbook",["\uF5C3",!1]],["synagogue",["\uF69B",!1]],["syringe",["\uF48E",!1]],["t",["T",!1]],["table",["\uF0CE",!1]],["table-cells",["\uF00A",!1]],["table-cells-large",["\uF009",!1]],["table-columns",["\uF0DB",!1]],["table-list",["\uF00B",!1]],["table-tennis-paddle-ball",["\uF45D",!1]],["tablet",["\uF3FB",!1]],["tablet-button",["\uF10A",!1]],["tablet-screen-button",["\uF3FA",!1]],["tablets",["\uF490",!1]],["tachograph-digital",["\uF566",!1]],["tag",["\uF02B",!1]],["tags",["\uF02C",!1]],["tape",["\uF4DB",!1]],["tarp",["\uE57B",!1]],["tarp-droplet",["\uE57C",!1]],["taxi",["\uF1BA",!1]],["teeth",["\uF62E",!1]],["teeth-open",["\uF62F",!1]],["temperature-arrow-down",["\uE03F",!1]],["temperature-arrow-up",["\uE040",!1]],["temperature-empty",["\uF2CB",!1]],["temperature-full",["\uF2C7",!1]],["temperature-half",["\uF2C9",!1]],["temperature-high",["\uF769",!1]],["temperature-low",["\uF76B",!1]],["temperature-quarter",["\uF2CA",!1]],["temperature-three-quarters",["\uF2C8",!1]],["tenge-sign",["\uF7D7",!1]],["tent",["\uE57D",!1]],["tent-arrow-down-to-line",["\uE57E",!1]],["tent-arrow-left-right",["\uE57F",!1]],["tent-arrow-turn-left",["\uE580",!1]],["tent-arrows-down",["\uE581",!1]],["tents",["\uE582",!1]],["terminal",["\uF120",!1]],["text-height",["\uF034",!1]],["text-slash",["\uF87D",!1]],["text-width",["\uF035",!1]],["thermometer",["\uF491",!1]],["thumbs-down",["\uF165",!0]],["thumbs-up",["\uF164",!0]],["thumbtack",["\uF08D",!1]],["ticket",["\uF145",!1]],["ticket-simple",["\uF3FF",!1]],["timeline",["\uE29C",!1]],["toggle-off",["\uF204",!1]],["toggle-on",["\uF205",!1]],["toilet",["\uF7D8",!1]],["toilet-paper",["\uF71E",!1]],["toilet-paper-slash",["\uE072",!1]],["toilet-portable",["\uE583",!1]],["toilets-portable",["\uE584",!1]],["toolbox",["\uF552",!1]],["tooth",["\uF5C9",!1]],["torii-gate",["\uF6A1",!1]],["tornado",["\uF76F",!1]],["tower-broadcast",["\uF519",!1]],["tower-cell",["\uE585",!1]],["tower-observation",["\uE586",!1]],["tractor",["\uF722",!1]],["trademark",["\uF25C",!1]],["traffic-light",["\uF637",!1]],["trailer",["\uE041",!1]],["train",["\uF238",!1]],["train-subway",["\uF239",!1]],["train-tram",["\uE5B4",!1]],["transgender",["\uF225",!1]],["trash",["\uF1F8",!1]],["trash-arrow-up",["\uF829",!1]],["trash-can",["\uF2ED",!0]],["trash-can-arrow-up",["\uF82A",!1]],["tree",["\uF1BB",!1]],["tree-city",["\uE587",!1]],["triangle-exclamation",["\uF071",!1]],["trophy",["\uF091",!1]],["trowel",["\uE589",!1]],["trowel-bricks",["\uE58A",!1]],["truck",["\uF0D1",!1]],["truck-arrow-right",["\uE58B",!1]],["truck-droplet",["\uE58C",!1]],["truck-fast",["\uF48B",!1]],["truck-field",["\uE58D",!1]],["truck-field-un",["\uE58E",!1]],["truck-front",["\uE2B7",!1]],["truck-medical",["\uF0F9",!1]],["truck-monster",["\uF63B",!1]],["truck-moving",["\uF4DF",!1]],["truck-pickup",["\uF63C",!1]],["truck-plane",["\uE58F",!1]],["truck-ramp-box",["\uF4DE",!1]],["tty",["\uF1E4",!1]],["turkish-lira-sign",["\uE2BB",!1]],["turn-down",["\uF3BE",!1]],["turn-up",["\uF3BF",!1]],["tv",["\uF26C",!1]],["u",["U",!1]],["umbrella",["\uF0E9",!1]],["umbrella-beach",["\uF5CA",!1]],["underline",["\uF0CD",!1]],["universal-access",["\uF29A",!1]],["unlock",["\uF09C",!1]],["unlock-keyhole",["\uF13E",!1]],["up-down",["\uF338",!1]],["up-down-left-right",["\uF0B2",!1]],["up-long",["\uF30C",!1]],["up-right-and-down-left-from-center",["\uF424",!1]],["up-right-from-square",["\uF35D",!1]],["upload",["\uF093",!1]],["user",["\uF007",!0]],["user-astronaut",["\uF4FB",!1]],["user-check",["\uF4FC",!1]],["user-clock",["\uF4FD",!1]],["user-doctor",["\uF0F0",!1]],["user-gear",["\uF4FE",!1]],["user-graduate",["\uF501",!1]],["user-group",["\uF500",!1]],["user-injured",["\uF728",!1]],["user-large",["\uF406",!1]],["user-large-slash",["\uF4FA",!1]],["user-lock",["\uF502",!1]],["user-minus",["\uF503",!1]],["user-ninja",["\uF504",!1]],["user-nurse",["\uF82F",!1]],["user-pen",["\uF4FF",!1]],["user-plus",["\uF234",!1]],["user-secret",["\uF21B",!1]],["user-shield",["\uF505",!1]],["user-slash",["\uF506",!1]],["user-tag",["\uF507",!1]],["user-tie",["\uF508",!1]],["user-xmark",["\uF235",!1]],["users",["\uF0C0",!1]],["users-between-lines",["\uE591",!1]],["users-gear",["\uF509",!1]],["users-line",["\uE592",!1]],["users-rays",["\uE593",!1]],["users-rectangle",["\uE594",!1]],["users-slash",["\uE073",!1]],["users-viewfinder",["\uE595",!1]],["utensils",["\uF2E7",!1]],["v",["V",!1]],["van-shuttle",["\uF5B6",!1]],["vault",["\uE2C5",!1]],["vector-square",["\uF5CB",!1]],["venus",["\uF221",!1]],["venus-double",["\uF226",!1]],["venus-mars",["\uF228",!1]],["vest",["\uE085",!1]],["vest-patches",["\uE086",!1]],["vial",["\uF492",!1]],["vial-circle-check",["\uE596",!1]],["vial-virus",["\uE597",!1]],["vials",["\uF493",!1]],["video",["\uF03D",!1]],["video-slash",["\uF4E2",!1]],["vihara",["\uF6A7",!1]],["virus",["\uE074",!1]],["virus-covid",["\uE4A8",!1]],["virus-covid-slash",["\uE4A9",!1]],["virus-slash",["\uE075",!1]],["viruses",["\uE076",!1]],["voicemail",["\uF897",!1]],["volcano",["\uF770",!1]],["volleyball",["\uF45F",!1]],["volume-high",["\uF028",!1]],["volume-low",["\uF027",!1]],["volume-off",["\uF026",!1]],["volume-xmark",["\uF6A9",!1]],["vr-cardboard",["\uF729",!1]],["w",["W",!1]],["walkie-talkie",["\uF8EF",!1]],["wallet",["\uF555",!1]],["wand-magic",["\uF0D0",!1]],["wand-magic-sparkles",["\uE2CA",!1]],["wand-sparkles",["\uF72B",!1]],["warehouse",["\uF494",!1]],["water",["\uF773",!1]],["water-ladder",["\uF5C5",!1]],["wave-square",["\uF83E",!1]],["weight-hanging",["\uF5CD",!1]],["weight-scale",["\uF496",!1]],["wheat-awn",["\uE2CD",!1]],["wheat-awn-circle-exclamation",["\uE598",!1]],["wheelchair",["\uF193",!1]],["wheelchair-move",["\uE2CE",!1]],["whiskey-glass",["\uF7A0",!1]],["wifi",["\uF1EB",!1]],["wind",["\uF72E",!1]],["window-maximize",["\uF2D0",!0]],["window-minimize",["\uF2D1",!0]],["window-restore",["\uF2D2",!0]],["wine-bottle",["\uF72F",!1]],["wine-glass",["\uF4E3",!1]],["wine-glass-empty",["\uF5CE",!1]],["won-sign",["\uF159",!1]],["worm",["\uE599",!1]],["wrench",["\uF0AD",!1]],["x",["X",!1]],["x-ray",["\uF497",!1]],["xmark",["\uF00D",!1]],["xmarks-lines",["\uE59A",!1]],["y",["Y",!1]],["yen-sign",["\uF157",!1]],["yin-yang",["\uF6AD",!1]],["z",["Z",!1]]]);window.getFontAwesome6Metadata=()=>new Map(r),window.getFontAwesome6IconMetadata=n=>r.get(e.get(n)||n)})();(()=>{let e=new Map([[16,14],[24,18],[32,28],[48,42],[64,56],[96,84],[128,112],[144,130]]);class r extends HTMLElement{root=void 0;svgStyle=document.createElement("style");connectedCallback(){this.validate();let h=this.getRoot(),t=document.createElement("slot");t.name="svg",h.append(t),this.setAttribute("aria-hidden","true"),this.translate=!1}validate(){if(this.size===0)throw new TypeError("Must provide an icon size.");if(!e.has(this.size))throw new TypeError("Must provide a valid icon size.")}getRoot(){return this.root===void 0&&(this.root=this.attachShadow({mode:"open"}),this.updateRenderSize(),this.root.append(this.svgStyle)),this.root}updateRenderSize(){let h=e.get(this.size);this.svgStyle.textContent=` ::slotted(svg) { fill: currentColor; - height: ${renderSize}px; + height: ${h}px; shape-rendering: geometricprecision; } - `; - } - get size() { - const size = this.getAttribute("size"); - if (size === null) { - return 0; - } - return parseInt(size); - } - set size(size) { - if (!HeightMap.has(size)) { - throw new Error(`Refused to set the invalid icon size '${size}'.`); - } - this.setAttribute("size", size.toString()); - this.updateRenderSize(); - } - } - window.customElements.define("fa-brand", FaBrand); - })(); - - // ts/WoltLabSuite/WebComponent/fa-icon.ts - (() => { - let isFA6Free; - function isFontAwesome6Free() { - if (isFA6Free === void 0) { - isFA6Free = true; - const iconFont = window.getComputedStyle(document.documentElement).getPropertyValue("--fa-font-family"); - if (iconFont === "Font Awesome 6 Pro") { - isFA6Free = false; - } - } - return isFA6Free; - } - const HeightMap = /* @__PURE__ */ new Map([ - [16, 14], - [24, 18], - [32, 28], - [48, 42], - [64, 56], - [96, 84], - [128, 112], - [144, 130] - ]); - class FaIcon extends HTMLElement { - connectedCallback() { - if (!this.hasAttribute("size")) { - this.setAttribute("size", "16"); - } - this.validate(); - this.setIcon(this.name, this.solid); - this.setAttribute("aria-hidden", "true"); - this.translate = false; - } - validate() { - if (!HeightMap.has(this.size)) { - throw new TypeError("Must provide a valid icon size."); - } - if (this.name === "") { - throw new TypeError("Must provide the name of the icon."); - } else if (!this.isValidIconName(this.name)) { - throw new TypeError(`The icon '${this.name}' is unknown or unsupported.`); - } - } - setIcon(name, forceSolid = false) { - if (!this.isValidIconName(name)) { - throw new TypeError(`The icon '${name}' is unknown or unsupported.`); - } - if (!forceSolid && !this.hasNonSolidStyle(name)) { - forceSolid = true; - } - if (name === this.name && forceSolid === this.solid) { - if (this.shadowRoot !== null) { - return; - } - } - if (forceSolid) { - this.setAttribute("solid", ""); - } else { - this.removeAttribute("solid"); - } - this.setAttribute("name", name); - this.updateIcon(); - } - isValidIconName(name) { - return name !== null && window.getFontAwesome6IconMetadata(name) !== void 0; - } - hasNonSolidStyle(name) { - if (isFontAwesome6Free()) { - const [, hasRegularVariant] = window.getFontAwesome6IconMetadata(name); - if (!hasRegularVariant) { - return false; - } - } - return true; - } - getShadowRoot() { - if (this.shadowRoot === null) { - return this.attachShadow({ mode: "open" }); - } - return this.shadowRoot; - } - updateIcon() { - const root = this.getShadowRoot(); - root.childNodes[0]?.remove(); - if (this.name === "spinner") { - root.append(this.createSpinner()); - } else { - const [codepoint] = window.getFontAwesome6IconMetadata(this.name); - root.append(codepoint); - } - } - createSpinner() { - const container = document.createElement("div"); - container.innerHTML = ` + `}get size(){let h=this.getAttribute("size");return h===null?0:parseInt(h)}set size(h){if(!e.has(h))throw new Error(`Refused to set the invalid icon size '${h}'.`);this.setAttribute("size",h.toString()),this.updateRenderSize()}}window.customElements.define("fa-brand",r)})();(()=>{let e;function r(){return e===void 0&&(e=!0,window.getComputedStyle(document.documentElement).getPropertyValue("--fa-font-family")==="Font Awesome 6 Pro"&&(e=!1)),e}let n=new Map([[16,14],[24,18],[32,28],[48,42],[64,56],[96,84],[128,112],[144,130]]);class h extends HTMLElement{connectedCallback(){this.hasAttribute("size")||this.setAttribute("size","16"),this.validate(),this.setIcon(this.name,this.solid),this.setAttribute("aria-hidden","true"),this.translate=!1}validate(){if(!n.has(this.size))throw new TypeError("Must provide a valid icon size.");if(this.name==="")throw new TypeError("Must provide the name of the icon.");if(!this.isValidIconName(this.name))throw new TypeError(`The icon '${this.name}' is unknown or unsupported.`)}setIcon(a,l=!1){if(!this.isValidIconName(a))throw new TypeError(`The icon '${a}' is unknown or unsupported.`);!l&&!this.hasNonSolidStyle(a)&&(l=!0),!(a===this.name&&l===this.solid&&this.shadowRoot!==null)&&(l?this.setAttribute("solid",""):this.removeAttribute("solid"),this.setAttribute("name",a),this.updateIcon())}isValidIconName(a){return a!==null&&window.getFontAwesome6IconMetadata(a)!==void 0}hasNonSolidStyle(a){if(r()){let[,l]=window.getFontAwesome6IconMetadata(a);if(!l)return!1}return!0}getShadowRoot(){return this.shadowRoot===null?this.attachShadow({mode:"open"}):this.shadowRoot}updateIcon(){let a=this.getShadowRoot();if(a.childNodes[0]?.remove(),this.name==="spinner")a.append(this.createSpinner());else{let[l]=window.getFontAwesome6IconMetadata(this.name);a.append(l)}}createSpinner(){let a=document.createElement("div");a.innerHTML=` - `; - const style = document.createElement("style"); - style.textContent = ` + `;let l=document.createElement("style");return l.textContent=` div, svg { height: var(--font-size); @@ -1185,576 +55,12 @@ stroke-dashoffset: -124; } } - `; - container.append(style); - return container; - } - get solid() { - return this.hasAttribute("solid"); - } - get name() { - return this.getAttribute("name") || ""; - } - get size() { - const size = this.getAttribute("size"); - if (size === null) { - return 0; - } - return parseInt(size); - } - set size(size) { - if (!HeightMap.has(size)) { - throw new Error(`Refused to set the invalid icon size '${size}'.`); - } - this.setAttribute("size", size.toString()); - } - } - window.customElements.define("fa-icon", FaIcon); - })(); - - // ts/WoltLabSuite/WebComponent/woltlab-core-date-time.ts - { - const drift = Date.now() - window.TIME_NOW * 1e3; - const locale = document.documentElement.lang; - const resolveTimeZone = () => { - let value = ""; - const meta = document.querySelector('meta[name="timezone"]'); - if (meta) { - value = meta.content; - try { - Intl.DateTimeFormat(void 0, { timeZone: value }); - } catch { - value = ""; - } - } - if (!value) { - value = Intl.DateTimeFormat().resolvedOptions().timeZone; - } - return value; - }; - const timeZone = resolveTimeZone(); - let todayDayStart; - let yesterdayDayStart; - const updateTodayAndYesterday = () => { - const now = /* @__PURE__ */ new Date(); - const today = new Date(now.getFullYear(), now.getMonth(), now.getDate()); - if (todayDayStart !== today.getTime()) { - todayDayStart = today.getTime(); - const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1); - yesterdayDayStart = yesterday.getTime(); - } - }; - updateTodayAndYesterday(); - let TodayOrYesterday; - ((TodayOrYesterday2) => { - TodayOrYesterday2[TodayOrYesterday2["Today"] = 0] = "Today"; - TodayOrYesterday2[TodayOrYesterday2["Yesterday"] = -1] = "Yesterday"; - })(TodayOrYesterday || (TodayOrYesterday = {})); - const DateFormatter = { - // Example: November 17, 2022 - Date: new Intl.DateTimeFormat(locale, { dateStyle: "long", timeZone }), - // Example: November 17, 2022 at 11:41 AM - DateAndTime: new Intl.DateTimeFormat(locale, { dateStyle: "long", timeStyle: "short", timeZone }), - // Example: Thursday 11:41 AM - DayOfWeekAndTime: new Intl.DateTimeFormat(locale, { - weekday: "long", - hour: "2-digit", - minute: "2-digit", - timeZone - }), - // Example: 16 minutes ago - Minutes: new Intl.RelativeTimeFormat(locale), - // Example: today - TodayOrYesterday: new Intl.RelativeTimeFormat(locale, { numeric: "auto" }) - }; - const TimePeriod = { - OneMinute: 60, - OneHour: 3600, - OneDay: 86400, - OneWeek: 86400 * 7 - }; - class WoltlabCoreDateTimeElement extends HTMLElement { - #date; - #timeElement; - get date() { - if (this.#date === void 0) { - const value = this.getAttribute("date"); - if (!value) { - throw new Error("The 'date' attribute is missing."); - } - this.#date = new Date(value); - } - return this.#date; - } - set date(date) { - this.setAttribute("date", date.toISOString()); - this.refresh(true); - } - get static() { - return this.hasAttribute("static"); - } - set static(isStatic) { - if (isStatic === true) { - this.setAttribute("static", ""); - } else { - this.removeAttribute("static"); - } - } - connectedCallback() { - this.refresh(true); - } - refresh(updateTitle) { - const date = this.date; - const difference = Math.trunc((Date.now() - date.getTime() - drift) / 1e3); - if (this.#timeElement === void 0) { - this.#timeElement = document.createElement("time"); - const shadow = this.attachShadow({ mode: "open" }); - shadow.append(this.#timeElement); - const style = document.createElement("style"); - style.textContent = ` + `,a.append(l),a}get solid(){return this.hasAttribute("solid")}get name(){return this.getAttribute("name")||""}get size(){let a=this.getAttribute("size");return a===null?0:parseInt(a)}set size(a){if(!n.has(a))throw new Error(`Refused to set the invalid icon size '${a}'.`);this.setAttribute("size",a.toString())}}window.customElements.define("fa-icon",h)})();{let e=Date.now()-window.TIME_NOW*1e3,r=document.documentElement.lang,h=(()=>{let u="",g=document.querySelector('meta[name="timezone"]');if(g){u=g.content;try{Intl.DateTimeFormat(void 0,{timeZone:u})}catch{u=""}}return u||(u=Intl.DateTimeFormat().resolvedOptions().timeZone),u})(),t,a,l=()=>{let u=new Date,g=new Date(u.getFullYear(),u.getMonth(),u.getDate());t!==g.getTime()&&(t=g.getTime(),a=new Date(u.getFullYear(),u.getMonth(),u.getDate()-1).getTime())};l();let d;(p=>(p[p.Today=0]="Today",p[p.Yesterday=-1]="Yesterday"))(d||={});let b={Date:new Intl.DateTimeFormat(r,{dateStyle:"long",timeZone:h}),DateAndTime:new Intl.DateTimeFormat(r,{dateStyle:"long",timeStyle:"short",timeZone:h}),DayOfWeekAndTime:new Intl.DateTimeFormat(r,{weekday:"long",hour:"2-digit",minute:"2-digit",timeZone:h}),Minutes:new Intl.RelativeTimeFormat(r),TodayOrYesterday:new Intl.RelativeTimeFormat(r,{numeric:"auto"})},k={OneMinute:60,OneHour:3600,OneDay:86400,OneWeek:86400*7};class A extends HTMLElement{#e;#a;get date(){if(this.#e===void 0){let g=this.getAttribute("date");if(!g)throw new Error("The 'date' attribute is missing.");this.#e=new Date(g)}return this.#e}set date(g){this.setAttribute("date",g.toISOString()),this.refresh(!0)}get static(){return this.hasAttribute("static")}set static(g){g===!0?this.setAttribute("static",""):this.removeAttribute("static")}connectedCallback(){this.refresh(!0)}refresh(g){let p=this.date,E=Math.trunc((Date.now()-p.getTime()-e)/1e3);if(this.#a===void 0){this.#a=document.createElement("time");let _=this.attachShadow({mode:"open"});_.append(this.#a);let C=document.createElement("style");C.textContent=` @media print { time::after { content: " (" attr(title) ")"; } - }`; - shadow.append(style); - } - if (updateTitle) { - this.#timeElement.dateTime = date.toISOString(); - this.#timeElement.title = DateFormatter.DateAndTime.format(date); - } - let value; - if (this.static) { - value = this.#timeElement.title; - } else { - if (difference < TimePeriod.OneMinute) { - value = window.WoltLabLanguage.getPhrase("wcf.date.relative.now"); - } else if (difference < TimePeriod.OneHour) { - const minutes = Math.trunc(difference / TimePeriod.OneMinute); - value = DateFormatter.Minutes.format(minutes * -1, "minute"); - } else if (difference < TimePeriod.OneWeek) { - const dateParts = DateFormatter.DayOfWeekAndTime.formatToParts(date); - const weekdayFirst = dateParts[0].type === "weekday"; - if (weekdayFirst) { - if (date.getTime() > todayDayStart) { - value = this.#formatTodayOrYesterday(dateParts, 0 /* Today */); - } else if (date.getTime() > yesterdayDayStart) { - value = this.#formatTodayOrYesterday(dateParts, -1 /* Yesterday */); - } else { - value = dateParts.map((part) => part.value).join(""); - } - } else { - value = DateFormatter.DateAndTime.format(date); - } - } else { - value = DateFormatter.Date.format(date); - } - } - value = value.charAt(0).toUpperCase() + value.slice(1); - this.#timeElement.textContent = value; - } - /** - * The date formatter does not provide a reliable way to generate - * the “date” portion as a relative value such as “today” or - * “tomorrow” _along_ with the time. - * - * This workaround will take the date using the day of week - * and the time, but replace the day of week with the relative - * value. - */ - #formatTodayOrYesterday(dateParts, dayOffset) { - const datePartsWithReplacedWeekday = dateParts.map((part) => { - if (part.type === "weekday") { - return DateFormatter.TodayOrYesterday.format(dayOffset, "day"); - } else { - return part.value; - } - }); - return datePartsWithReplacedWeekday.join(""); - } - } - window.customElements.define("woltlab-core-date-time", WoltlabCoreDateTimeElement); - const refreshAllTimeElements = () => { - document.querySelectorAll("woltlab-core-date-time").forEach((element) => element.refresh(false)); - }; - let timer = void 0; - const startTimer = () => { - timer = window.setInterval(() => { - updateTodayAndYesterday(); - refreshAllTimeElements(); - }, 6e4); - }; - document.addEventListener("DOMContentLoaded", () => startTimer(), { once: true }); - document.addEventListener("visibilitychange", () => { - if (document.hidden) { - window.clearInterval(timer); - } else { - refreshAllTimeElements(); - startTimer(); - } - }); - } - - // ts/WoltLabSuite/WebComponent/woltlab-core-loading-indicator.ts - { - const DefaultIconSize = 24; - const ValidIconSizes = [24, 48, 96]; - class WoltlabCoreLoadingIndicatorElement extends HTMLElement { - #icon; - #text; - connectedCallback() { - if (this.#icon === void 0) { - this.#createDom(); - } - } - attributeChangedCallback(name, oldValue, newValue) { - if (name === "size") { - const newSize = parseInt(newValue || ""); - if (!ValidIconSizes.includes(newSize)) { - let newValue2 = parseInt(oldValue || ""); - if (!ValidIconSizes.includes(newValue2)) { - newValue2 = DefaultIconSize; - } - this.setAttribute(name, newValue2.toString()); - } - } - } - #createDom() { - this.classList.add("loading-indicator"); - if (!this.hasAttribute("size")) { - this.setAttribute("size", DefaultIconSize.toString()); - } - this.#icon = document.createElement("fa-icon"); - this.#icon.size = this.size; - this.#icon.setIcon("spinner"); - this.#text = document.createElement("span"); - this.#text.classList.add("loading-indicator__text"); - this.#text.textContent = window.WoltLabLanguage.getPhrase("wcf.global.loading"); - this.#text.hidden = this.hideText; - const container = document.createElement("div"); - container.classList.add("loading-indicator__wrapper"); - container.append(this.#icon, this.#text); - this.append(container); - } - get size() { - return parseInt(this.getAttribute("size")); - } - set size(size) { - if (!ValidIconSizes.includes(size)) { - throw new TypeError(`The size ${size} is unrecognized, permitted values are ${ValidIconSizes.join(", ")}.`); - } - this.setAttribute("size", size.toString()); - if (this.#icon) { - this.#icon.size = size; - } - } - get hideText() { - return this.hasAttribute("hide-text"); - } - set hideText(hideText) { - if (hideText) { - this.setAttribute("hide-text", ""); - } else { - this.removeAttribute("hide-text"); - } - if (this.#text) { - this.#text.hidden = hideText; - } - } - static get observedAttributes() { - return ["size"]; - } - } - window.customElements.define("woltlab-core-loading-indicator", WoltlabCoreLoadingIndicatorElement); - } - - // ts/WoltLabSuite/WebComponent/woltlab-core-pagination.ts - { - let mediaQuery; - const getMediaQueryScreenXs = () => { - if (mediaQuery === void 0) { - mediaQuery = window.matchMedia("(max-width: 544px)"); - } - return mediaQuery; - }; - class WoltlabCorePaginationElement extends HTMLElement { - #className = "pagination"; - connectedCallback() { - this.#render(); - getMediaQueryScreenXs().addEventListener("change", () => this.#render()); - } - #render() { - this.innerHTML = ""; - if (this.count < 2) { - return; - } - this.classList.add(`${this.#className}__wrapper`); - const nav = this.#getNavElement(); - this.append(nav); - const previousLinkElement = this.#getPreviousLinkElement(); - if (previousLinkElement) { - nav.append(previousLinkElement); - } - const ul = document.createElement("ul"); - ul.classList.add(`${this.#className}__list`); - nav.append(ul); - ul.append(this.#getLinkItem(1)); - if (this.page > this.thresholdForEllipsis + 1) { - ul.append(this.#getEllipsisItem()); - } - this.#getLinkItems().forEach((item) => { - ul.append(item); - }); - if (this.count - this.page > this.thresholdForEllipsis) { - ul.append(this.#getEllipsisItem()); - } - ul.append(this.#getLinkItem(this.count)); - const nextLinkElement = this.#getNextLinkElement(); - if (nextLinkElement) { - nav.append(nextLinkElement); - } - } - #getNavElement() { - const nav = document.createElement("nav"); - nav.setAttribute("role", "navigation"); - nav.setAttribute("aria-label", window.WoltLabLanguage.getPhrase("wcf.page.pagination")); - nav.classList.add(this.#className); - return nav; - } - #getPreviousLinkElement() { - if (this.page === 1) { - return; - } - const div = document.createElement("div"); - div.classList.add(`${this.#className}__prev`); - const button = this.#getButtonElement(this.page - 1); - if (button instanceof HTMLAnchorElement) { - button.rel = "prev"; - } - button.title = window.WoltLabLanguage.getPhrase("wcf.global.page.previous"); - button.classList.add("jsTooltip"); - div.append(button); - const icon = document.createElement("fa-icon"); - icon.setIcon("arrow-left"); - button.append(icon); - return div; - } - #getNextLinkElement() { - if (this.page === this.count) { - return; - } - const div = document.createElement("div"); - div.classList.add(`${this.#className}__next`); - const button = this.#getButtonElement(this.page + 1); - if (button instanceof HTMLAnchorElement) { - button.rel = "next"; - } - button.title = window.WoltLabLanguage.getPhrase("wcf.global.page.next"); - button.classList.add("jsTooltip"); - div.append(button); - const icon = document.createElement("fa-icon"); - icon.setIcon("arrow-right"); - button.append(icon); - return div; - } - #getButtonElement(page) { - let button; - const url = this.getLinkUrl(page); - if (url) { - button = document.createElement("a"); - button.href = url; - } else { - button = document.createElement("button"); - button.type = "button"; - if (this.page === page) { - button.disabled = true; - } else { - button.addEventListener("click", () => { - this.#switchPage(page); - }); - } - } - button.classList.add(`${this.#className}__link`); - return button; - } - #getLinkItem(page) { - const li = document.createElement("li"); - li.classList.add(`${this.#className}__item`); - const button = this.#getButtonElement(page); - button.setAttribute("aria-label", window.WoltLabLanguage.getPhrase("wcf.page.pageNo", { pageNo: page })); - if (page === this.page) { - button.setAttribute("aria-current", "page"); - button.classList.add(`${this.#className}__link--current`); - } - button.textContent = page.toLocaleString(document.documentElement.lang); - li.append(button); - return li; - } - /** - * Generates page numbers that are adjacent to the current page. - */ - #getLinkItems() { - const items = []; - let start; - let end; - if (getMediaQueryScreenXs().matches) { - start = this.page; - end = this.page; - } else { - start = this.page - 1; - if (start === 3) { - start--; - } - end = this.page + 1; - if (end === this.count - 2) { - end++; - } - } - for (let i = start; i <= end; i++) { - if (i <= 1 || i >= this.count) { - continue; - } - items.push(this.#getLinkItem(i)); - } - return items; - } - #getEllipsisItem() { - const li = document.createElement("li"); - li.classList.add(`${this.#className}__item`, `${this.#className}__item--ellipsis`); - const button = document.createElement("button"); - button.type = "button"; - button.title = window.WoltLabLanguage.getPhrase("wcf.page.jumpTo"); - button.classList.add("pagination__link", "jsTooltip"); - button.innerHTML = "⋯"; - button.addEventListener("click", () => { - this.dispatchEvent(new CustomEvent("jumpToPage")); - }); - li.append(button); - return li; - } - /** - * On smaller screens the ellipsis is shown when there - * is at least one page in-between the current page and - * the first or last page. On larger screens the ellipsis - * is only shown if it hides at least two numbers. - */ - get thresholdForEllipsis() { - if (getMediaQueryScreenXs().matches) { - return 1; - } - return 3; - } - getLinkUrl(page) { - if (!this.url) { - return ""; - } - const url = new URL(this.url); - url.search += url.search !== "" ? "&" : "?"; - url.search += new URLSearchParams([["pageNo", page.toString()]]).toString(); - return url.toString(); - } - jumpToPage(page) { - const url = this.getLinkUrl(page); - if (url) { - window.location.href = url; - } else { - this.#switchPage(page); - } - } - #switchPage(page) { - const event = new CustomEvent("switchPage", { - cancelable: true, - detail: page - }); - this.dispatchEvent(event); - if (!event.defaultPrevented) { - this.page = page; - } - } - get count() { - return this.hasAttribute("count") ? parseInt(this.getAttribute("count")) : 0; - } - set count(count) { - this.setAttribute("count", count.toString()); - this.#render(); - } - get page() { - return this.hasAttribute("page") ? parseInt(this.getAttribute("page")) : 1; - } - set page(page) { - this.setAttribute("page", page.toString()); - this.#render(); - } - get url() { - return this.getAttribute("url"); - } - set url(url) { - this.setAttribute("url", url); - this.#render(); - } - } - window.customElements.define("woltlab-core-pagination", WoltlabCorePaginationElement); - } - - // ts/WoltLabSuite/WebComponent/woltlab-core-reaction-summary.ts - { - class WoltlabCoreReactionSummaryElement extends HTMLElement { - connectedCallback() { - this.setData(this.#getData(), this.#getSelectedReaction()); - } - setData(data, selectedReaction) { - this.#render(data, selectedReaction); - } - get objectId() { - return parseInt(this.getAttribute("object-id")); - } - get objectType() { - return this.getAttribute("object-type"); - } - #render(data, selectedReaction) { - this.innerHTML = ""; - if (!data.size) - return; - const button = document.createElement("button"); - button.classList.add("reactionSummary", "jsTooltip"); - button.title = window.WoltLabLanguage.getPhrase("wcf.reactions.summary.listReactions"); - button.addEventListener("click", () => { - this.dispatchEvent(new Event("showDetails")); - }); - this.append(button); - data.forEach((value, key) => { - const countButton = document.createElement("span"); - countButton.classList.add("reactionCountButton"); - if (key === selectedReaction) { - countButton.classList.add("selected"); - } - const icon = document.createElement("span"); - icon.innerHTML = window.REACTION_TYPES[key].renderedIcon; - countButton.append(icon); - const counter = document.createElement("span"); - counter.classList.add("reactionCount"); - counter.textContent = value.toString(); - countButton.append(counter); - button.append(countButton); - }); - } - #getData() { - const data = JSON.parse(this.getAttribute("data")); - this.removeAttribute("data"); - return new Map(data); - } - #getSelectedReaction() { - return parseInt(this.getAttribute("selected-reaction")); - } - } - window.customElements.define("woltlab-core-reaction-summary", WoltlabCoreReactionSummaryElement); - } - - // ts/WoltLabSuite/WebComponent/index.ts - window.WoltLabLanguage = Language_exports; - window.WoltLabTemplate = Template; - window.HTMLParsedElement = html_parsed_element_default; -})(); + }`,_.append(C)}g&&(this.#a.dateTime=p.toISOString(),this.#a.title=b.DateAndTime.format(p));let y;if(this.static)y=this.#a.title;else if(Et?y=this.#t(_,0):p.getTime()>a?y=this.#t(_,-1):y=_.map(W=>W.value).join(""):y=b.DateAndTime.format(p)}else y=b.Date.format(p);y=y.charAt(0).toUpperCase()+y.slice(1),this.#a.textContent=y}#t(g,p){return g.map(y=>y.type==="weekday"?b.TodayOrYesterday.format(p,"day"):y.value).join("")}}window.customElements.define("woltlab-core-date-time",A);let S=()=>{document.querySelectorAll("woltlab-core-date-time").forEach(u=>u.refresh(!1))},z,P=()=>{z=window.setInterval(()=>{l(),S()},6e4)};document.addEventListener("DOMContentLoaded",()=>P(),{once:!0}),document.addEventListener("visibilitychange",()=>{document.hidden?window.clearInterval(z):(S(),P())})}{let r=[24,48,96];class n extends HTMLElement{#e;#a;connectedCallback(){this.#e===void 0&&this.#t()}attributeChangedCallback(t,a,l){if(t==="size"){let d=parseInt(l||"");if(!r.includes(d)){let b=parseInt(a||"");r.includes(b)||(b=24),this.setAttribute(t,b.toString())}}}#t(){this.classList.add("loading-indicator"),this.hasAttribute("size")||this.setAttribute("size",24 .toString()),this.#e=document.createElement("fa-icon"),this.#e.size=this.size,this.#e.setIcon("spinner"),this.#a=document.createElement("span"),this.#a.classList.add("loading-indicator__text"),this.#a.textContent=window.WoltLabLanguage.getPhrase("wcf.global.loading"),this.#a.hidden=this.hideText;let t=document.createElement("div");t.classList.add("loading-indicator__wrapper"),t.append(this.#e,this.#a),this.append(t)}get size(){return parseInt(this.getAttribute("size"))}set size(t){if(!r.includes(t))throw new TypeError(`The size ${t} is unrecognized, permitted values are ${r.join(", ")}.`);this.setAttribute("size",t.toString()),this.#e&&(this.#e.size=t)}get hideText(){return this.hasAttribute("hide-text")}set hideText(t){t?this.setAttribute("hide-text",""):this.removeAttribute("hide-text"),this.#a&&(this.#a.hidden=t)}static get observedAttributes(){return["size"]}}window.customElements.define("woltlab-core-loading-indicator",n)}{let e,r=()=>(e===void 0&&(e=window.matchMedia("(max-width: 544px)")),e);class n extends HTMLElement{#e="pagination";connectedCallback(){this.#a(),r().addEventListener("change",()=>this.#a())}#a(){if(this.innerHTML="",this.count<2)return;this.classList.add(`${this.#e}__wrapper`);let t=this.#t();this.append(t);let a=this.#n();a&&t.append(a);let l=document.createElement("ul");l.classList.add(`${this.#e}__list`),t.append(l),l.append(this.#r(1)),this.page>this.thresholdForEllipsis+1&&l.append(this.#l()),this.#f().forEach(b=>{l.append(b)}),this.count-this.page>this.thresholdForEllipsis&&l.append(this.#l()),l.append(this.#r(this.count));let d=this.#o();d&&t.append(d)}#t(){let t=document.createElement("nav");return t.setAttribute("role","navigation"),t.setAttribute("aria-label",window.WoltLabLanguage.getPhrase("wcf.page.pagination")),t.classList.add(this.#e),t}#n(){if(this.page===1)return;let t=document.createElement("div");t.classList.add(`${this.#e}__prev`);let a=this.#s(this.page-1);a instanceof HTMLAnchorElement&&(a.rel="prev"),a.title=window.WoltLabLanguage.getPhrase("wcf.global.page.previous"),a.classList.add("jsTooltip"),t.append(a);let l=document.createElement("fa-icon");return l.setIcon("arrow-left"),a.append(l),t}#o(){if(this.page===this.count)return;let t=document.createElement("div");t.classList.add(`${this.#e}__next`);let a=this.#s(this.page+1);a instanceof HTMLAnchorElement&&(a.rel="next"),a.title=window.WoltLabLanguage.getPhrase("wcf.global.page.next"),a.classList.add("jsTooltip"),t.append(a);let l=document.createElement("fa-icon");return l.setIcon("arrow-right"),a.append(l),t}#s(t){let a,l=this.getLinkUrl(t);return l?(a=document.createElement("a"),a.href=l):(a=document.createElement("button"),a.type="button",this.page===t?a.disabled=!0:a.addEventListener("click",()=>{this.#i(t)})),a.classList.add(`${this.#e}__link`),a}#r(t){let a=document.createElement("li");a.classList.add(`${this.#e}__item`);let l=this.#s(t);return l.setAttribute("aria-label",window.WoltLabLanguage.getPhrase("wcf.page.pageNo",{pageNo:t})),t===this.page&&(l.setAttribute("aria-current","page"),l.classList.add(`${this.#e}__link--current`)),l.textContent=t.toLocaleString(document.documentElement.lang),a.append(l),a}#f(){let t=[],a,l;r().matches?(a=this.page,l=this.page):(a=this.page-1,a===3&&a--,l=this.page+1,l===this.count-2&&l++);for(let d=a;d<=l;d++)d<=1||d>=this.count||t.push(this.#r(d));return t}#l(){let t=document.createElement("li");t.classList.add(`${this.#e}__item`,`${this.#e}__item--ellipsis`);let a=document.createElement("button");return a.type="button",a.title=window.WoltLabLanguage.getPhrase("wcf.page.jumpTo"),a.classList.add("pagination__link","jsTooltip"),a.innerHTML="⋯",a.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("jumpToPage"))}),t.append(a),t}get thresholdForEllipsis(){return r().matches?1:3}getLinkUrl(t){if(!this.url)return"";let a=new URL(this.url);return a.search+=a.search!==""?"&":"?",a.search+=new URLSearchParams([["pageNo",t.toString()]]).toString(),a.toString()}jumpToPage(t){let a=this.getLinkUrl(t);a?window.location.href=a:this.#i(t)}#i(t){let a=new CustomEvent("switchPage",{cancelable:!0,detail:t});this.dispatchEvent(a),a.defaultPrevented||(this.page=t)}get count(){return this.hasAttribute("count")?parseInt(this.getAttribute("count")):0}set count(t){this.setAttribute("count",t.toString()),this.#a()}get page(){return this.hasAttribute("page")?parseInt(this.getAttribute("page")):1}set page(t){this.setAttribute("page",t.toString()),this.#a()}get url(){return this.getAttribute("url")}set url(t){this.setAttribute("url",t),this.#a()}}window.customElements.define("woltlab-core-pagination",n)}{class e extends HTMLElement{connectedCallback(){this.setData(this.#a(),this.#t())}setData(n,h){this.#e(n,h)}get objectId(){return parseInt(this.getAttribute("object-id"))}get objectType(){return this.getAttribute("object-type")}#e(n,h){if(this.innerHTML="",!n.size)return;let t=document.createElement("button");t.classList.add("reactionSummary","jsTooltip"),t.title=window.WoltLabLanguage.getPhrase("wcf.reactions.summary.listReactions"),t.addEventListener("click",()=>{this.dispatchEvent(new Event("showDetails"))}),this.append(t),n.forEach((a,l)=>{let d=document.createElement("span");d.classList.add("reactionCountButton"),l===h&&d.classList.add("selected");let b=document.createElement("span");b.innerHTML=window.REACTION_TYPES[l].renderedIcon,d.append(b);let k=document.createElement("span");k.classList.add("reactionCount"),k.textContent=a.toString(),d.append(k),t.append(d)})}#a(){let n=JSON.parse(this.getAttribute("data"));return this.removeAttribute("data"),new Map(n)}#t(){return parseInt(this.getAttribute("selected-reaction"))}}window.customElements.define("woltlab-core-reaction-summary",e)}window.WoltLabLanguage=ne;window.WoltLabTemplate=V;window.HTMLParsedElement=pe;})(); /** * Handles the low level management of language items. *