���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC "use strict"; (function(J, L, A, ka) { const B = function() { function w(C) { throw Error("Failed to require " + C); } const v = {}; return { register: function(C, y) { v[C] = y; }, require: function(C, y) { return v[C] || w(y); }, include: function(C, y, p) { return v[C] || (p ? w(y) : null); } }; }(); B.register("$1", function(w, v, C) { function y(p) { const t = typeof p; if ("string" === t) if (/[^ <>!=()%^&|?:n0-9]/.test(p)) console.error("Invalid plural: " + p); else return new Function("n", "return " + p); "function" !== t && (p = function(d) { return 1 != d; }); return p; } w.init = function(p) { function t(h, n, q) { return (h = f[h]) && h[q] ? h[q] : n || ""; } function d(h) { return t(h, h, 0); } function b(h, n) { return t(n + "" + h, h, 0); } function k(h, n, q) { q = Number(p(q)); isNaN(q) && (q = 0); return t(h, q ? n : h, q); } p = y(p); let f = {}; return { __: d, _x: b, _n: k, _: d, x: b, n: k, load: function(h) { f = h || {}; return this; }, pluraleq: function(h) { p = y(h); return this; } }; }; return w; }({}, J, L)); B.register("$2", function(w, v, C) { w.ie = function() { return !1; }; w.init = function() { return w; }; return w; }({}, J, L)); B.register("$3", function(w, v, C) { Number.prototype.format = function(y, p, t) { var d = Math.pow(10, y || 0); y = []; d = String(Math.round(d * this) / d); var b = d.split("."); d = b[0]; b = b[1]; let k = d.length; do { y.unshift(d.substring(k - 3, k)); } while (0 < (k -= 3)); d = y.join(t || ","); if (b) { { t = b; y = t.length; let f; for (;"0" === t.charAt(--y); ) f = y; f && (t = t.substring(0, f)); b = t; } b && (d += (p || ".") + b); } return d; }; Number.prototype.percent = function(y) { let p = 0, t = this && y ? this / y * 100 : 0; if (0 === t) return "0"; if (100 === t) return "100"; if (99 < t) t = Math.min(t, 99.9), y = t.format(++p); else if (.5 > t) { t = Math.max(t, 1e-4); do { y = t.format(++p); } while ("0" === y && 4 > p); y = y.substring(1); } else y = t.format(0); return y; }; return w; }({}, J, L)); B.register("$4", function(w, v, C) { Array.prototype.indexOf || (Array.prototype.indexOf = function(y) { if (null == this) throw new TypeError(); var p = Object(this), t = p.length >>> 0; if (0 === t) return -1; var d = 0; 1 < arguments.length && (d = Number(arguments[1]), d != d ? d = 0 : 0 != d && Infinity != d && -Infinity != d && (d = (0 < d || -1) * Math.floor(Math.abs(d)))); if (d >= t) return -1; for (d = 0 <= d ? d : Math.max(t - Math.abs(d), 0); d < t; d++) if (d in p && p[d] === y) return d; return -1; }); return w; }({}, J, L)); B.register("$5", function(w, v, C) { C = v.JSON; C || (C = { parse: A.parseJSON, stringify: null }, v.JSON = C); w.parse = C.parse; w.stringify = C.stringify; return w; }({}, J, L)); B.register("$6", function(w, v, C) { w.trim = function(y, p) { for (p || (p = " \n"); y && -1 !== p.indexOf(y.charAt(0)); ) y = y.substring(1); for (;y && -1 !== p.indexOf(y.slice(-1)); ) y = y.substring(0, y.length - 1); return y; }; w.sprintf = function(y) { return w.vsprintf(y, [].slice.call(arguments, 1)); }; w.vsprintf = function(y, p) { let t = 0; return y.replace(/%(?:([1-9][0-9]*)\$)?([sud%])/g, function(d, b, k) { if ("%" === k) return "%"; d = b ? p[Number(b) - 1] : p[t++]; return null != d ? String(d) : "s" === k ? "" : "0"; }); }; return w; }({}, J, L)); B.register("$27", function(w, v, C) { function y(p) { return function(t, d) { let b = t[p] || 0; for (;(t = t.offsetParent) && t !== (d || C.body); ) b += t[p] || 0; return b; }; } w.top = y("offsetTop"); w.left = y("offsetLeft"); w.el = function(p, t) { p = C.createElement(p || "div"); t && (p.className = t); return p; }; w.txt = function(p) { return C.createTextNode(p || ""); }; w.rect = function(p) { return p.getBoundingClientRect(); }; return w; }({}, J, L)); B.register("$7", function(w, v, C) { function y(m, g, l) { function r() { z(); x = setTimeout(g, l); } function z() { x && clearTimeout(x); x = 0; } let x = 0; r(); A(m).on("mouseenter", z).on("mouseleave", r); return { die: function() { z(); A(m).off("mouseenter mouseleave"); } }; } function p(m, g) { m.fadeTo(g, 0, function() { m.slideUp(g, function() { m.remove(); A(v).triggerHandler("resize"); }); }); return m; } function t(m, g) { function l(F) { q[D] = null; p(A(m), 250); x && x.die(); var H; if (H = F) F.stopPropagation(), F.preventDefault(), H = !1; return H; } function r(F) { x && x.die(); return x = y(m, l, F); } const z = A(m); let x, D, E, G = z.find("button"); 0 === G.length && (z.addClass("is-dismissible"), G = A(''); B.require("$12", "tooltip.js").init(f); return f; } function t(f) { return p("cloud").attr("title", f.labels[8] + " (Ctrl-U)").on("click", function(h) { h.preventDefault(); f.focus().fuzzy(!f.fuzzy()); }); } function d(f) { return p("robot").attr("title", f.labels[9] + " (Ctrl-J)").on("click", function(h) { h.preventDefault(); f.fire("poHint"); }); } function b(f, h) { return B.require("$6", "string.js").vsprintf(f, h); } w.init = function(f) { const h = new y(); f = h.setRootCell(f); var n = f.splity("po-list", "po-edit"); let q = n[0], u = n[1]; n = u.splitx("po-trans", "po-comment"); var c = n[0]; let a = n[1].header("Loading.."); n = c.splity("po-source", "po-target"); c = n[0].header("Loading.."); n = n[1].header("Loading.."); f.distribute([ .34 ]); u.distribute([ .8 ]); h.setListCell(q); h.setSourceCell(c); h.setTargetCell(n); h.commentCell = a; h.editable.source = !1; return h; }; v = y.prototype = B.require("$30", "base.js").extend(y); v.getListHeadings = function() { const f = this.t(), h = [ f._x("Source text", "Editor") ]; this.targetLocale && (h[1] = f._x("Translation", "Editor")); return h; }; v.getListColumns = function() { const f = { source: 0 }; this.targetLocale && (f.target = 1); return f; }; v.getListEntry = function(f) { const h = this.cellText, n = [ function() { let q, u = h(f.source() || ""), c = f.context(); return c ? (q = C.createElement("p"), q.appendChild(C.createElement("mark")).innerText = c, q.appendChild(C.createTextNode(" " + u)), q) : u; } ]; this.targetLocale && (n[1] = function() { return h(f.translation() || ""); }); return n; }; v.stats = function() { let f = this.po, h = f.length, n = 0, q = 0, u = 0; f.each(function(c, a) { a.fuzzy() ? u++ : a.translated() ? n++ : q++; }); return { t: h, p: n.percent(h) + "%", f: u, u: q }; }; v.unlock = function() { const f = this.targetLocale; this._unlocked || (this.editable = { source: !0, context: !0, target: !1 }, this.po && this.po.unlock(), this.contextCell = this.targetCell, delete this.targetCell, f && (this._unlocked = f, delete this.targetLocale, this.reload(), this.fire("poLock", [ !1 ])), this.active && this.loadMessage(this.active)); }; v.lock = function() { const f = this._unlocked; f && (this.targetLocale = f, delete this._unlocked, this.po && this.po.lock(f), this.editable = { source: !1, context: !1, target: !0 }, this.targetCell = this.contextCell, delete this.contextCell, this.reload(), this.fire("poLock", [ !0, f ]), this.active && this.loadMessage(this.active)); }; v.locked = function() { return !this._unlocked; }; v.setStatus = function(f) { let h = this.$tnav; if (null == f) h && (h.remove(), this.$tnav = null); else { h || (this.$tnav = h = A("").append(t(this)).append(d(this)).appendTo(this.targetCell.header())); var n = []; f.translated() ? f.fuzzy() && n.push("po-fuzzy") : n.push("po-empty"); h.attr("class", n.join(" ")); } }; v.getSorter = function() { function f(q, u) { const c = q.weight(), a = u.weight(); return c === a ? h(q, u) : c > a ? -1 : 1; } function h(q, u) { return q.hash().localeCompare(u.hash()); } const n = this; return function(q) { const u = n.po, c = n.locked() ? f : h; q.sort(function(a, e) { return c(u.row(a), u.row(e)); }); }; }; v.validate = function(f) { f.err = null; if (f.untranslated(0)) return 0; const h = []; let n = this.validateMessagePrintf(f, h); n && (f.err = h); return n; }; v.validateMessagePrintf = function(f, h) { const n = f.format(); if ("no-" === n.substring(0, 3)) return 0; const q = f.msgid(), u = f.msgidPlural(); null == k && (k = B.require("$31", "printf.js").init()); var c = k; if (!("" !== n || c.sniff(q) || "" !== u && c.sniff(u))) return 0; let a = 0, e = c.parse(q); u && e.valid && (e = c.parse(u, e)); if (!e.valid) return 0; let m = e.count; if (0 !== m || "" !== n) { var g = this; f.eachMsg(function(l, r) { h[l] = []; if ("" !== r) { r = c.parse(r); var z = r.count; l = h[l]; if (r.valid) if (z > m) l.push(b(g.t()._("Too many placeholders; source text formatting suggests a maximum of %s"), [ m ])), a++; else if (z < m && "" === u) l.push(b(g.t()._("Missing placeholders; source text formatting suggests at least %s"), [ m ])), a++; else { z = e.types; for (const x in r.types) for (const D in r.types[x]) if (null == z[x] || null == z[x][D]) { l.push(g.t()._("Mismatching placeholder type; check against source text formatting")); a++; return; } } else l.push(g.t()._("Possible syntax error in string formatting")), a++; } }); return a; } }; v.handle = {}; let k; return w; }({}, J, L)); B.register("$14", function(w, v, C) { const y = { copy: 66, clear: 75, save: 83, fuzzy: 85, next: 40, prev: 38, enter: 13, invis: 73, hint: 74 }, p = { 38: !0, 40: !0, 73: !0 }, t = { 66: function(d, b) { if (d = b.current()) d.normalize(), b.focus().pasteMessage(d); }, 75: function(d, b) { if (d = b.current()) d.untranslate(), b.focus().pasteMessage(d); }, 85: function(d, b) { b.focus().fuzzy(!b.fuzzy()); }, 13: function(d, b) { b.getFirstEditable() && b.next(1, !0, !0); }, 40: function(d, b) { d = d.shiftKey; b.next(1, d, d); }, 38: function(d, b) { d = d.shiftKey; b.next(-1, d, d); }, 73: function(d, b) { if (!d.shiftKey) return !1; b.setInvs(!b.getInvs()); } }; w.init = function(d, b) { function k(h) { if (h.isDefaultPrevented() || !h.metaKey && !h.ctrlKey) return !0; const n = h.which; if (!f[n]) return !0; const q = t[n]; if (!q || h.altKey || h.shiftKey && !p[n] || !1 === q(h, d)) return !0; h.stopPropagation(); h.preventDefault(); return !1; } const f = {}; A(b || v).on("keydown", k); return { add: function(h, n) { t[y[h]] = n; return this; }, enable: function() { for (const h in arguments) f[y[arguments[h]]] = !0; return this; }, disable: function() { A(b || v).off("keydown", k); d = b = null; for (const h in t) f[h] = !1; } }; }; return w; }({}, J, L)); B.register("$32", function(w, v, C) { function y() { this.reIndex([]); } w.init = function() { return new y(); }; v = y.prototype; v.reIndex = function(p) { const t = {}, d = p.length; let b = -1; for (;++b < d; ) t[p[b]] = b; this.keys = p; this.length = b; this.ords = t; }; v.key = function(p, t) { if (null == t) return this.keys[p]; const d = this.keys[p], b = this.ords[t]; if (t !== d) { if (null != b) throw Error("Clash with item at [" + b + "]"); this.keys[p] = t; delete this.ords[d]; this.ords[t] = p; } return p; }; v.indexOf = function(p) { p = this.ords[p]; return null == p ? -1 : p; }; v.add = function(p, t) { let d = this.ords[p]; null == d && (this.keys[this.length] = p, d = this.ords[p] = this.length++); this[d] = t; return d; }; v.get = function(p) { return this[this.ords[p]]; }; v.has = function(p) { return null != this.ords[p]; }; v.del = function(p) { this.cut(this.ords[p], 1); }; v.cut = function(p, t) { t = t || 1; const d = [].splice.call(this, p, t); this.keys.splice(p, t); this.reIndex(this.keys); return d; }; v.each = function(p) { const t = this.keys, d = this.length; let b = -1; for (;++b < d; ) p(t[b], this[b], b); return this; }; v.sort = function(p) { const t = this.length, d = this.keys, b = this.ords, k = []; let f = -1; for (;++f < t; ) k[f] = [ this[f], d[f] ]; k.sort(function(n, q) { return p(n[0], q[0]); }); for (f = 0; f < t; f++) { var h = k[f]; this[f] = h[0]; h = h[1]; d[f] = h; b[h] = f; } return this; }; v.join = function(p) { return [].join.call(this, p); }; return w; }({}, J, L)); B.register("$33", function(w, v, C) { function y(p, t) { var d = new RegExp("^.{0," + (p - 1) + "}[" + t + "]"), b = new RegExp("^[^" + t + "]+"); return function(k, f) { for (var h = k.length, n; h > p; ) { n = d.exec(k) || b.exec(k); if (null == n) break; n = n[0]; f.push(n); n = n.length; h -= n; k = k.substring(n); } 0 !== h && f.push(k); return f; }; } w.create = function(p) { function t(q) { return f[q] || "\\" + q; } var d = /(?:\r\n|[\r\n\v\f\u2028\u2029])/g, b = /[ \r\n]+/g, k = /[\t\v\f\x07\x08\\"]/g, f = { "\t": "\\t", "\v": "\\v", "\f": "\\f", "": "\\a", "\b": "\\b" }; if (null == p || isNaN(p = Number(p))) p = 79; if (0 < p) { var h = y(p - 3, " "); var n = y(p - 2, "-– \\.,:;\\?!\\)\\]\\}\\>"); } return { pair: function(q, u) { if (!u) return q + ' ""'; u = u.replace(k, t); var c = 0; u = u.replace(d, function() { c++; return "\\n\n"; }); if (!(c || p && p < u.length + q.length + 3)) return q + ' "' + u + '"'; q = [ q + ' "' ]; u = u.split("\n"); if (n) for (var a = -1, e = u.length; ++a < e; ) n(u[a], q); else q = q.concat(u); return q.join('"\n"') + '"'; }, prefix: function(q, u) { q = q.split(d); return u + q.join("\n" + u); }, refs: function(q) { q = q.replace(b, " ", q); h && (q = h(q, []).join("\n#: ")); return "#: " + q; } }; }; return w; }({}, J, L)); B.register("$46", function(w, v, C) { function y() { this.length = 0; } w.init = function() { return new y(); }; v = y.prototype; v.push = function(p) { this[this.length++] = p; return this; }; v.sort = function(p) { [].sort.call(this, p); return this; }; v.each = function(p) { for (var t = -1, d = this.length; ++t < d; ) p(t, this[t]); return this; }; return w; }({}, J, L)); B.register("$34", function(w, v, C) { function y() {} w.extend = function(p) { return p.prototype = new y(); }; v = y.prototype = B.require("$44", "abstract.js").init([ "add", "load" ]); v.row = function(p) { return this.rows[p]; }; v.lock = function(p) { return this.locale(p || { lang: "zxx", label: "Unknown", nplurals: 1, pluraleq: "n!=1" }); }; v.unlock = function() { const p = this.loc; this.loc = null; return p; }; v.locale = function(p) { null == p ? p = this.loc : this.loc = p = B.require("$43", "locale.js").cast(p); return p; }; v.each = function(p) { this.rows.each(p); return this; }; v.indexOf = function(p) { "object" !== typeof p && (p = this.get(p)); if (!p) return -1; null == p.idx && (p.idx = this.rows.indexOf(p.hash())); return p.idx; }; v.get = function(p) { return this.rows && this.rows.get(p); }; v.has = function(p) { return this.rows && this.rows.has(p); }; v.del = function(p) { p = this.indexOf(p); if (-1 !== p) { const t = this.rows.cut(p, 1); if (t && t.length) return this.length = this.rows.length, this.rows.each(function(d, b, k) { b.idx = k; }), p; } }; v.reIndex = function(p, t) { const d = p.hash(), b = this.indexOf(p), k = this.rows.indexOf(d); return k === b ? b : -1 !== k ? (t = (t || 0) + 1, p.source("Error, duplicate " + String(t) + ": " + p.source()), this.reIndex(p, t)) : this.rows.key(b, d); }; v.sort = function(p) { this.rows.sort(p); return this; }; v.export = function() { const p = this.rows, t = p.length, d = B.require("$46", "list.js").init(); let b = -1; for (;++b < t; ) d.push(p[b]); return d; }; return w; }({}, J, L)); B.register("$35", function(w, v, C) { function y(d, b, k) { if (null == k) return d[b] || ""; d[b] = k || ""; return d; } function p() { this._id = this.id = ""; } function t(d, b) { const k = d.length; let f = -1; for (;++f < k; ) b(f, d[f]); } w.extend = function(d) { return d.prototype = new p(); }; v = p.prototype; v.flag = function(d, b) { const k = this.flg || (this.flg = []); if (null != b) k[b] = d; else for (b = Math.max(k.length, this.src.length, this.msg.length); 0 !== b--; ) k[b] = d; return this; }; v.flagged = function(d) { return (this.flg || [])[d || 0] || 0; }; v.hasFlag = function() { const d = this.flg || []; let b = d.length; for (;0 !== b--; ) if (this.isFlag(d[b])) return !0; return !1; }; v.isFlag = function(d) { return 0 < d; }; v.flags = function() { const d = {}, b = [], k = this.flg || []; let f = k.length; for (;0 !== f--; ) { const h = k[f]; d[h] || (d[h] = !0, b.push(h)); } return b; }; v.flaggedAs = function(d, b) { const k = this.flg || []; if (null != b) return d === k[b] || 0; for (b = k.length; 0 !== b--; ) if (k[b] === d) return !0; return !1; }; v.fuzzy = function(d, b) { const k = this.flaggedAs(4, d); null != b && this.flag(b ? 4 : 0, d); return k; }; v.source = function(d, b) { if (null == d) return this.src[b || 0] || ""; this.src[b || 0] = d; return this; }; v.plural = function(d, b) { if (null == d) return this.src[b || 1] || ""; this.src[b || 1] = d || ""; return this; }; v.sourceForms = function() { return this.srcF; }; v.targetForms = function() { return this.msgF; }; v.each = function(d) { const b = this.src, k = this.msg, f = Math.max(b.length, k.length); let h = -1; for (;++h < f; ) d(h, b[h], k[h]); return this; }; v.eachSrc = function(d) { t(this.src, d); return this; }; v.eachMsg = function(d) { t(this.msg, d); return this; }; v.count = function() { return Math.max(this.src.length, this.msg.length); }; v.pluralized = function() { return 1 < this.src.length || 1 < this.msg.length; }; v.translate = function(d, b) { this.msg[b || 0] = d || ""; return this; }; v.untranslate = function(d) { if (null != d) this.msg[d] = ""; else { const b = this.msg, k = b.length; for (d = 0; d < k; d++) b[d] = ""; } return this; }; v.translation = function(d) { return this.msg[d || 0] || ""; }; v.errors = function(d) { return this.err && this.err[d || 0] || []; }; v.valid = function() { return null == this.err; }; v.translated = function(d) { if (null != d) return !!this.msg[d]; const b = this.msg, k = b.length; for (d = 0; d < k; d++) if (!b[d]) return !1; return !0; }; v.untranslated = function(d) { if (null != d) return !this.msg[d]; const b = this.msg, k = b.length; for (d = 0; d < k; d++) if (b[d]) return !1; return !0; }; v.comment = function(d) { return y(this, "cmt", d); }; v.notes = function(d) { return y(this, "xcmt", d); }; v.refs = function(d) { return y(this, "rf", d); }; v.format = function(d) { return y(this, "fmt", d); }; v.context = function(d) { return y(this, "ctx", d); }; v.tags = function() { return this.tg; }; v.getMax = function(d) { return (this.mx || [ 0 ])[d] || 0; }; v.toString = v.toText = function() { return this.src.concat(this.msg, [ this.id, this.ctx ]).join(" "); }; v.weight = function() { let d = 0; this.translation() || (d += 2); this.fuzzy() && (d += 1); return d; }; v.equals = function(d) { return this === d || this.hash() === d.hash(); }; v.hash = function() { return this.id; }; v.normalize = function() { let d = -1, b = this.msg.length; for (;++d < b; ) this.msg[d] = this.src[Math.min(d, 1)] || ""; }; v.disabled = function(d) { return !!(this.lck || [])[d || 0]; }; v.disable = function(d) { (this.lck || (this.lck = []))[d || 0] = !0; return this; }; v.saved = function(d) { const b = this.drt; if (null == b) return !0; if (null != d) return !b[d]; for (d = b.length; 0 !== d--; ) if (b[d]) return !1; return !0; }; v.unsave = function(d) { (this.drt || (this.drt = []))[d || 0] = !0; return this; }; v.save = function(d) { null == d ? this.drt = null : (this.drt || (this.drt = []))[d] = !1; return this; }; v.is = function(d) { return d && (d === this || d.idx === this.idx); }; v.isHTML = function(d) { if (null == d) return this.htm || !1; this.htm = d; }; v = null; return w; }({}, J, L)); B.register("$15", function(w, v, C) { function y(f) { return { "Project-Id-Version": "PACKAGE VERSION", "Report-Msgid-Bugs-To": "", "POT-Creation-Date": f || "", "PO-Revision-Date": f || "", "Last-Translator": "", "Language-Team": "", Language: "", "Plural-Forms": "", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit" }; } function p(f, h) { f = f || ""; h && (f += "\0" + h); return f; } function t(f) { const h = v.console; h && h.error && h.error(f.message || String(f)); } function d(f) { return B.require("$33", "format.js").create(f); } function b(f) { this.locale(f); this.clear(); this.head = y(this.now()); } function k(f, h) { this.src = [ f || "" ]; this.msg = [ h || "" ]; } w.create = function(f) { return new b(f); }; C = B.require("$34", "messages.js").extend(b); C.clear = function() { this.rows = B.require("$32", "collection.js").init(); this.length = 0; return this; }; C.now = function() { function f(a, e) { for (a = String(a); a.length < e; ) a = "0" + a; return a; } var h = new Date(); const n = h.getUTCFullYear(), q = h.getUTCMonth() + 1, u = h.getUTCDate(), c = h.getUTCHours(); h = h.getUTCMinutes(); return f(n, 4) + "-" + f(q, 2) + "-" + f(u, 2) + " " + f(c, 2) + ":" + f(h, 2) + "+0000"; }; C.header = function(f, h) { const n = this.head || (this.head = {}); if (null == h) return this.headers()[f] || ""; n[f] = h || ""; return this; }; C.headers = function(f) { const h = this.now(), n = this.head || (this.head = y(h)); if (null != f) { for (u in f) n[u] = f[u]; return this; } const q = this.locale(); f = {}; for (u in n) f[u] = String(n[u]); if (q) { f.Language = String(q) || "zxx"; f["Language-Team"] = q.label || f.Language; f["Plural-Forms"] = "nplurals=" + (q.nplurals || "2") + "; plural=" + (q.pluraleq || "n!=1") + ";"; var u = "PO-Revision-Date"; } else f.Language = "", f["Plural-Forms"] = "nplurals=INTEGER; plural=EXPRESSION;", f["PO-Revision-Date"] = "YEAR-MO-DA HO:MI+ZONE", u = "POT-Creation-Date"; f[u] || (f[u] = h); f["X-Generator"] = "Loco https://localise.biz/"; return f; }; C.get = function(f, h) { f = p(f, h); return this.rows.get(f); }; C.add = function(f, h) { f instanceof k || (f = new k(f)); h && f.context(h); h = f.hash(); this.rows.get(h) ? t("Duplicate message at index " + this.indexOf(f)) : (f.idx = this.rows.add(h, f), this.length = this.rows.length); return f; }; C.load = function(f) { let h = -1, n, q; var u; let c, a, e, m = (u = this.locale()) && u.nplurals || 2, g = []; for (;++h < f.length; ) n = f[h], null == n.parent ? (q = n.source || n.id, u = n.target || "", c = n.context, q || c ? (a = new k(q, u), a._id = n._id, c && a.context(c), n.flag && a.flag(n.flag, 0), n.comment && a.comment(n.comment), n.notes && a.notes(n.notes), n.refs && a.refs(n.refs), a.format(n.format), n.message = a, this.add(a), n.prev && n.prev[0] && (a.prev(n.prev[0].source, n.prev[0].context), n.prev[1] && a._src.push(n.prev[1].source || ""))) : 0 === h && "object" === typeof u && (this.head = u, this.headcmt = n.comment)) : g.push(n); for (h = -1; ++h < g.length; ) try { n = g[h]; q = n.source || n.id; a = f[n.parent] && f[n.parent].message; if (!a) throw Error("parent missing for plural " + q); e = n.plural; 1 === e && a.plural(q); e >= m || (n.flag && a.flag(n.flag, e), a.translate(n.target || "", e), n.format && !a.format() && a.format(n.format)); } catch (l) { t(l); } return this; }; C.wrap = function(f) { this.fmtr = d(f); return this; }; C.toString = function() { var f, h = this.locale(), n = [], q = [], u = this.headers(), c = !h, a = h && h.nplurals || 2, e = this.fmtr || d(); u[h ? "PO-Revision-Date" : "POT-Creation-Date"] = this.now(); for (f in u) q.push(f + ": " + u[f]); q = new k("", q.join("\n")); q.comment(this.headcmt || ""); c && q.fuzzy(0, !0); n.push(q.toString()); n.push(""); this.rows.each(function(m, g) { m && (n.push(g.cat(e, c, a)), n.push("")); }); return n.join("\n"); }; C = B.require("$35", "message.js").extend(k); C.msgid = function() { return this.src[0]; }; C.msgidPlural = function() { return this.src[1] || ""; }; C.prev = function(f, h) { this._src = [ f || "" ]; this._ctx = h; }; C.hash = function() { return p(this.source(), this.context()); }; C.toString = function() { return this.cat(d()); }; C.cat = function(f, h, n) { var q = [], u; (u = this.cmt) && q.push(f.prefix(u, "# ")); (u = this.xcmt) && q.push(f.prefix(u, "#. ")); var c = this.rf; if (u = this._id) c += (c ? " " : "") + "loco:" + u; c && /\S/.test(c) && q.push(f.refs(c)); !h && this.fuzzy() && q.push("#, fuzzy"); (u = this.fmt) && q.push("#, " + u + "-format"); (u = this._ctx) && q.push(f.prefix(f.pair("msgctxt", u), "#| ")); if (u = this._src) u[0] && q.push(f.prefix(f.pair("msgid", u[0]), "#| ")), u[1] && q.push(f.prefix(f.pair("msgid_plural", u[1]), "#| ")); (u = this.ctx) && q.push(f.pair("msgctxt", u)); q.push(f.pair("msgid", this.src[0])); if (null == this.src[1]) q.push(f.pair("msgstr", h ? "" : this.msg[0])); else for (c = -1, q.push(f.pair("msgid_plural", this.src[1])), u = this.msg || [ "", "" ], n = n || u.length; ++c < n; ) q.push(f.pair("msgstr[" + c + "]", h ? "" : u[c] || "")); return q.join("\n"); }; C.compare = function(f, h) { let n = this.weight(), q = f.weight(); if (n > q) return 1; if (n < q) return -1; if (h) { n = this.hash().toLowerCase(); q = f.hash().toLowerCase(); if (n < q) return 1; if (n > q) return -1; } return 0; }; C.copy = function() { let f = new k(), h, n; for (h in this) this.hasOwnProperty(h) && ((n = this[h]) && n.concat && (n = n.concat()), f[h] = n); return f; }; return w; }({}, J, L)); B.register("$17", function(w, v, C) { w.init = function(y, p) { function t() { return f || (f = A('
').dialog({ dialogClass: "loco-modal loco-modal-wide", modal: !0, autoOpen: !1, closeOnEscape: !0, resizable: !1, height: 500 })); } function d(h, n, q) { h = A("

").text(q); t().dialog("close").html("").dialog("option", "title", "Error").append(h).dialog("open"); } function b(h) { const n = h && h.code; if (n) { for (var q = n.length, u = A("
    ").attr("class", h.type), c = -1; ++c < q; ) A("
  1. ").html(n[c]).appendTo(u); 0 !== h.line && u.find("li").eq(h.line - 1).attr("class", "highlighted"); t().dialog("close").html("").dialog("option", "title", h.path + ":" + h.line).append(u).dialog("open"); } } function k(h) { h = h.target; const n = A(h).find("li.highlighted")[0]; h.scrollTop = Math.max(0, (n && n.offsetTop || 0) - Math.floor(h.clientHeight / 2)); } let f; return { load: function(h) { t().html('
    ').dialog("option", "title", "Loading..").off("dialogopen").dialog("open").on("dialogopen", k); h = A.extend({ ref: h, path: p.popath }, p.project || {}); y.ajax.post("fsReference", h, b, d); } }; }; return w; }({}, J, L)); B.register("$18", function(w, v, C) { function y() { this.inf = {}; } function p() { const b = C.createElement("p"), k = /&(#\d+|#x[0-9a-f]|[a-z]+);/i, f = /<[a-z]+\s/i; let h, n; return { sniff: function(q) { if (q === h) return n; h = q; if (k.test(q) || f.test(q)) if (b.innerHTML = q, b.textContent !== q) return n = !0; return n = !1; } }; } w.create = function(b, k) { k && "function" === typeof k.create || console.error("module.create is not callable"); k = k.create(y); k.init(b); return k; }; const t = y.prototype; t.init = function(b) { this.inf = b || {}; return this; }; t.param = function(b) { return this.inf[b] || ""; }; t.key = function() { return this.param("key") || ""; }; t.getId = function() { return this.param("id") || "none"; }; t.getUrl = function() { return this.param("url") || ""; }; t.toString = function() { return this.param("name") || this.getId(); }; t.getSrc = function() { return this.param("src") || "en"; }; t.setSrc = function(b) { this.inf.src = this.mapLang(b, this.getLangMap()); }; t.stderr = function(b) { const k = (v.loco || {}).notices; k && k.error && k.error(String(this) + ": " + String(b)); }; t.xhrError = function(b, k, f) { try { const h = b.responseText, n = h && v.JSON.parse(h); f = n && this.parseError(n) || f; } catch (h) {} return f || this.httpError(b); }; t.httpError = function(b) { return (b = b && b.status) && 200 !== b ? "Responded status " + b : "Unknown error"; }; t.parseError = function(b) { return b && b.error || ""; }; t.mapLang = function(b, k) { const f = String(b).replace("_", "-").toLowerCase(); var h = b.lang; k = k[f] || k[h] || []; b = k.length; if (0 === b) return h; if (1 < b) for (h = -1; ++h < b; ) { const n = k[h]; if (n === f) return n; } return k[0]; }; t.getLangMap = function() { return {}; }; t.maxChr = function() { return 0; }; t.fixURL = function(b) { b = b.split("://", 2); 1 === b.length && b.unshift("https"); return b[0] + "://" + b[1].replace(/\/{2,}/g, "/"); }; t.translate = function(b, k, f) { return this.batch([ b ], k, this.isHtml(b), f); }; t.verify = function(b) { return this.translate("OK", { lang: "fr", toString: function() { return "fr"; } }, function(k, f) { b(f && "OK" === k); }); }; t.hash = function() { return this.key(); }; t._call = function(b) { const k = this; k.state = null; b.cache = !0; b.dataType = "json"; b.error = function(f, h, n) { k.stderr(k.xhrError(f, h, n)); }; return k.abortable(A.ajax(b)); }; t.abortable = function(b) { const k = this; b.always(function() { k.$r === b && (k.$r = null); }); return k.$r = b; }; t.abort = function() { const b = this.$r; b && b.abort(); }; t.isHtml = function(b) { return (d || (d = p())).sniff(b); }; let d; return w; }({}, J, L)); B.register("$19", function(w, v, C) { function y(p) { this.api = p; this.chars = 0; } w.create = function(p) { return new y(p); }; v = y.prototype; v.init = function(p, t) { function d(g) { let l = { length: 0, html: g.html, sources: [] }; h.push(l); return n[g.html ? 1 : 0] = l; } function b(g, l) { let r = g.source(null, l); if (r && (g.untranslated(l) || t)) if (l = f[r]) l.push(g); else { l = r.length; var z = k.isHtml(r); z = n[z ? 1 : 0]; var x = z.sources; if (e && l > e) c++; else { if (z.length + l > a || 50 === x.length) z = d(z), x = z.sources; x.push(r); f[r] = [ g ]; z.length += l; q += l; u += 1; } } } const k = this.api, f = {}, h = []; let n = [], q = 0, u = 0, c = 0, a = 1e4, e = k.maxChr(); e && (a = Math.min(a, e)); d({ html: !1 }); d({ html: !0 }); const m = p.locale(); p.each(1 < m.nplurals ? function(g, l) { b(l, 0); b(l, 1); } : function(g, l) { b(l, 0); }); n = []; this.map = f; this.chars = q; this.length = u; this.batches = h; this.locale = m; c && k.stderr("Strings over " + a + " characters long will be skipped"); }; v.abort = function() { this.state = "abort"; return this; }; v.dispatch = function() { function p(x, D) { function E(R, I, P) { D !== P && (x === I || 1 < R && G.source(null, 1) === x) && (G.translate(D, R), O++, g++); } if (!t()) return !1; if (!D) return !0; let G, F = u[x] || [], H = F.length, M = -1, O; for (e++; ++M < H; ) if (G = F[M]) O = 0, G.each(E), O && h("each", [ G ]); return !0; } function t() { return "abort" === n.state ? (q && (q.abort(), f()), !1) : !0; } function d() { let x = c.shift(), D; x ? (D = x.sources) && D.length ? q.batch(D, a, x.html, p).fail(b).always(k) : k() : f(); } function b() { n.abort(); f(); } function k() { m++; h("prog", [ m, r ]); t() && d(); } function f() { q = c = null; h("done"); } function h(x, D) { x = z[x] || []; let E = x.length; for (;0 <= --E; ) x[E].apply(null, D); } let n = this, q = n.api, u = n.map, c = n.batches || [], a = n.locale, e = 0, m = 0, g = 0, l = n.length, r = c.length, z = { done: [], each: [], prog: [] }; n.state = ""; d(); return { done: function(x) { z.done.push(x); return this; }, each: function(x) { z.each.push(x); return this; }, prog: function(x) { z.prog.push(x); return this; }, stat: function() { return { todo: function() { return Math.max(l - e, 0); }, did: function() { return e; } }; } }; }; return w; }({}, J, L)); B.register("$20", function(w, v, C) { function y() {} w.create = function(p) { (y.prototype = new p()).batch = function(t, d, b, k) { function f(q) { const u = t.length; let c = -1; for (;++c < u && !1 !== k(t[c], q[c], d); ); } const h = v.loco; b = { hook: this.getId(), type: b ? "html" : "text", locale: String(d), source: this.getSrc(), sources: t }; const n = A.Deferred(); this.abortable(h.ajax.post("apis", b, function(q) { f(q && q.targets || []); n.resolve(); }, function() { f([]); n.reject(); })); return n.promise(); }; return new y(); }; return w; }({}, J, L)); B.register("$37", { pt: [ "pt", "pt-pt", "pt-br" ], en: [ "en", "en-gb", "en-us" ] }); B.register("$21", function(w, v, C) { function y() {} w.create = function(p) { p = y.prototype = new p(); p.toString = function() { return "DeepL Translator"; }; p.parseError = function(t) { const d = (t = t.message) && /^Wrong endpoint\. Use (https?:\/\/[-.a-z]+)/.exec(t); d && this.base(this.key()) === d[1] && (t = "Only the v2 API is supported"); return t; }; p.base = function(t) { let d = this.param("api"); d ? d = this.fixURL(d) : (d = "https://api", ":fx" === t.substring(t.length - 3) && (d += "-free"), d += ".deepl.com"); return d; }; p.getLangMap = function() { return B.require("$37", "deepl.json"); }; p.verify = function(t) { const d = this.key(), b = this.base(d); return this._call({ url: b + "/v2/usage", data: { auth_key: d } }).done(function(k) { const f = k && k.character_limit; k = k && k.character_count; t(!0, f && f <= k ? "OK, but quota exceeded" : ""); }).fail(function() { t(!1); }); }; p.batch = function(t, d, b, k) { function f(m) { const g = t.length; let l = -1; for (;++l < g && !1 !== k(t[l], (m[l] || {}).text || "", d); ); } const h = this; b = h.key(); const n = h.base(b), q = h.getSrc().substring(0, 2), u = h.mapLang(d, h.getLangMap()), c = h.param("glossary_id") || "", a = h.param("preserve_formatting") || "1"; var e = { formal: "prefer_more", informal: "prefer_less" }; e = this.param("formality") || e[d.tone] || "default"; return h._call({ url: n + "/v2/translate", method: "POST", traditional: !0, data: { source_lang: q.toUpperCase(), target_lang: u.toUpperCase(), formality: e, preserve_formatting: a, glossary_id: c, auth_key: b, text: t } }).done(function(m, g, l) { m.translations ? f(m.translations) : (h.stderr(h.parseError(m) || h.httpError(l)), f([])); }).fail(function() { f([]); }); }; return new y(); }; return w; }({}, J, L)); B.register("$38", { zh: [ "zh", "zh-cn", "zh-tw" ], he: [ "iw" ], jv: [ "jw" ] }); B.register("$22", function(w, v, C) { function y() {} w.create = function(p) { p = y.prototype = new p(); p.toString = function() { return "Google Translate"; }; p.parseError = function(t) { if (t.error) { const d = [], b = t.error.errors || [], k = b.length; let f = -1; for (;++f < k; ) d.push(b[f].message || ""); return "Error " + t.error.code + ": " + d.join(";"); } return ""; }; p.getLangMap = function() { return B.require("$38", "google.json"); }; p.batch = function(t, d, b, k) { function f(u) { const c = t.length; let a = -1; for (;++a < c && !1 !== k(t[a], (u[a] || {}).translatedText || "", d); ); } const h = this, n = h.getSrc(); b = b ? "html" : "text"; const q = h.mapLang(d, h.getLangMap()); return h._call({ url: "https://translation.googleapis.com/language/translate/v2?source=" + n + "&target=" + q + "&format=" + b, method: "POST", traditional: !0, data: { key: h.key(), q: t } }).done(function(u, c, a) { u.data ? f(u.data.translations || []) : (h.stderr(h.parseError(u) || h.httpError(a)), f([])); }).fail(function() { f([]); }); }; return new y(); }; return w; }({}, J, L)); B.register("$39", { zh: [ "zh", "zh-cn", "zh-tw" ], pt: [ "pt", "pt-pt", "pt-br" ] }); B.register("$23", function(w, v, C) { function y() {} w.create = function(p) { p = y.prototype = new p(); p.parseError = function(t) { var d = t.details || {}; let b = d.message; d = d.texts; return b ? (d && d !== b && (b += "; " + d), b = b.replace(/https?:\/\/(?:[a-z]+\.)?lecto.ai[-\w\/?&=%.+~]*/, function(k) { k += -1 === k.indexOf("?") ? "?" : "&"; return k + "ref=loco"; }), "Error " + (t.status || "0") + ": " + b) : ""; }; p.maxChr = function() { return 1e3; }; p.getLangMap = function() { return B.require("$39", "lecto.json"); }; p.batch = function(t, d, b, k) { function f(u) { const c = t.length; let a = -1, e = (u[0] || { translated: [] }).translated || []; for (;++a < c && (u = e[a] || "", !1 !== k(t[a], u, d)); ); } const h = this; b = this.getSrc(); const n = h.param("api") || "https://api.lecto.ai", q = h.mapLang(d, h.getLangMap()); return h._call({ url: h.fixURL(n + "/v1/translate/text"), method: "POST", data: JSON.stringify({ to: [ q ], from: b, texts: t }), headers: { "Content-Type": "application/json; charset=UTF-8", "X-API-Key": h.key(), Accept: "application/json" } }).done(function(u, c, a) { u ? f(u.translations || []) : (h.stderr(h.parseError(u) || h.httpError(a)), f([])); }).fail(function() { f([]); }); }; return new y(); }; return w; }({}, J, L)); B.register("$40", { nn: [ "no" ], pt: [ "pt", "pt-pt" ], sr: [ "sr", "sr-cyrl", "sr-latn" ], "sr-rs": [ "sr-cyrl" ], tlh: [ "tlh-latn", "tlh-piqd" ], zh: [ "zh-hans", "zh-hant" ], "zh-cn": [ "zh-hans" ], "zh-hk": [ "zh-hans" ], "zh-sg": [ "zh-hans" ], "zh-tw": [ "zh-hant" ] }); B.register("$24", function(w, v, C) { function y() {} w.create = function(p) { p = y.prototype = new p(); p.toString = function() { return "Microsoft Translator text API"; }; p.parseError = function(t) { return t && t.error ? t.error.message : ""; }; p.maxChr = function() { return 1e4; }; p.getLangMap = function() { return B.require("$40", "ms.json"); }; p.region = function() { return this.param("region") || "global"; }; p.hash = function() { return this.key() + this.region(); }; p.batch = function(t, d, b, k) { function f(e) { let m = -1; for (var g; ++m < u && (g = e[m] || {}, g = g.translations || [], g = g[0] || {}, !1 !== k(t[m], g.text || "", d)); ); } let h = this, n = [], q = h.getSrc(), u = t.length, c = -1; b = b ? "html" : "plain"; let a = h.mapLang(d, h.getLangMap()); for (;++c < u; ) n.push({ Text: t[c] }); return h._call({ url: "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=" + q + "&to=" + a + "&textType=" + b, method: "POST", data: JSON.stringify(n), headers: { "Content-Type": "application/json; charset=UTF-8", "Ocp-Apim-Subscription-Key": this.key(), "Ocp-Apim-Subscription-Region": h.region() } }).done(function(e, m, g) { e && e.length ? f(e) : (h.stderr(h.parseError(e) || h.httpError(g)), f([])); }).fail(function() { f([]); }); }; return new y(); }; return w; }({}, J, L)); B.register("$25", function(w, v, C) { w.init = function(y) { function p() { O || (E.on("click", n), O = A('
    ').dialog({ dialogClass: "request-filesystem-credentials-dialog loco-modal", minWidth: 580, modal: !0, autoOpen: !1, closeOnEscape: !0 }).on("change", 'input[name="connection_type"]', function() { this.checked && A("#ssh-keys").toggleClass("hidden", "ssh" !== A(this).val()); })); return O; } function t() { F && (d(A(e)), F = !1); if (l && M) { var I = M, P = A(G); P.find("span.loco-msg").text(I); H || (P.removeClass("jshide").hide().fadeIn(500), H = !0); } else H && (d(A(G)), H = !1); } function d(I) { I.slideUp(250).fadeOut(250, function() { A(this).addClass("jshide"); }); } function b() { if (l) return O && O.dialog("close"), t(), A(y).find('button[type="submit"]').attr("disabled", !1), A(v).triggerHandler("resize"), a && a(!0), !0; z && O ? (F || (A(e).removeClass("jshide").hide().fadeIn(500), F = !0), H && (d(A(G)), H = !1)) : t(); A(y).find('input[type="submit"]').attr("disabled", !0); a && a(!1); return !1; } function k(I) { var P, X = R || {}; for (P in X) if (X.hasOwnProperty(P)) { var ha = X[P]; I[P] ? I[P].value = ha : A('').attr("name", P).appendTo(I).val(ha); } } function f(I) { I.preventDefault(); I = A(I.target).serializeArray(); c(I); g = !0; return !1; } function h(I) { I.preventDefault(); O.dialog("close"); return !1; } function n(I) { I.preventDefault(); O.dialog("open").find('input[name="connection_type"]').change(); return !1; } function q(I) { l = I.authed; m = I.method; A(e).find("span.loco-msg").text(I.message || "Something went wrong."); M = I.warning || ""; I.notice && r.notices.info(I.notice); if (l) "direct" !== m && (R = I.creds, k(y), g && I.success && r.notices.success(I.success)), b(); else if (I.reason) r.notices.info(I.reason); else if (I = I.prompt) { var P = p(); P.html(I).find("form").on("submit", f); P.dialog("option", "title", P.find("h2").remove().text()); P.find("button.cancel-button").show().on("click", h); P.find('input[type="submit"]').addClass("button-primary"); b(); A(v).triggerHandler("resize"); } else r.notices.error("Server didn't return credentials, nor a prompt for credentials"); } function u() { b(); } function c(I) { g = !1; r.ajax.setNonce("fsConnect", D).post("fsConnect", I, q, u); return I; } var a, e = y, m = null, g = !1, l = !1, r = v.loco, z = y.path.value, x = y.auth.value, D = y["loco-nonce"].value, E = A(e).find("button.button-primary"), G = C.getElementById(e.id + "-warn"), F = !1, H = !1, M = "", O; r.notices.convert(G).stick(); if (y.connection_type) { var R = {}; R.connection_type = y.connection_type.value; l = !0; } else z && x && c({ path: z, auth: x }); b(); return { applyCreds: function(I) { if (I.nodeType) k(I); else { var P, X = R || {}; for (P in X) X.hasOwnProperty(P) && (I[P] = X[P]); } return this; }, setForm: function(I) { y = I; b(); k(I); return this; }, connect: function() { z = y.path.value; x = y.auth.value; c(A(y).serializeArray()); return this; }, listen: function(I) { a = I; l && I(!0); return this; }, authed: function() { return l; } }; }; return w; }({}, J, L)); B.register("$41", function(w, v, C) { function y(b, k) { return function(f) { b.apply(f, k); return f; }; } function p(b) { return function(k, f) { k = k && k[b] || 0; f = f && f[b] || 0; return k === f ? 0 : k > f ? 1 : -1; }; } function t(b) { return function(k, f) { return (k && k[b] || "").localeCompare(f && f[b] || ""); }; } function d(b) { return function(k, f) { return -1 * b(k, f); }; } w.sort = function(b, k, f, h) { k = "n" === f ? p(k) : t(k); h && (k = d(k)); return y([].sort, [ k ])(b); }; return w; }({}, J, L)); B.register("$26", function(w, v, C) { w.init = function(y) { function p(e) { let m = -1; const g = e.length; for (A("tr", q).remove(); ++m < g; ) q.appendChild(e[m].$); } function t(e) { f = e ? c.find(e, d) : d.slice(0); n && (e = b[n], f = a(f, n, e.type, e.desc)); p(f); } let d = [], b = [], k = 0, f, h, n, q = y.getElementsByTagName("tbody")[0]; var u = y.getElementsByTagName("thead")[0]; let c = B.require("$10", "fulltext.js").init(), a = B.require("$41", "sort.js").sort; u && q && (A("th", u).each(function(e, m) { const g = m.getAttribute("data-sort-type"); g && (e = k, A(m).addClass("loco-sort").on("click", function(l) { l.preventDefault(); { l = e; let r = b[l], z = r.type, x = !(r.desc = !r.desc); f = a(f || d.slice(0), l, z, x); p(f); h && h.removeClass("loco-desc loco-asc"); h = A(r.$).addClass(x ? "loco-desc" : "loco-asc").removeClass(x ? "loco-asc" : "loco-desc"); n = l; } return !1; }), b[k] = { $: m, type: g }); m.hasAttribute("colspan") ? k += Number(m.getAttribute("colspan")) : k++; }), A("tr", q).each(function(e, m) { let g, l = [], r = { _: e, $: m }, z = m.getElementsByTagName("td"); for (g in b) { const x = z[g]; (m = x.textContent.replace(/(^\s+|\s+$)/g, "")) && l.push(m); x.hasAttribute("data-sort-value") && (m = x.getAttribute("data-sort-value")); switch (b[g].type) { case "n": m = Number(m); } r[g] = m; } d[e] = r; c.index(e, l); }), y = A('form.loco-filter input[type="text"]', y.parentNode), y.length && (y = y[0], u = A(y.form), 1 < d.length ? B.require("$11", "LocoTextListener.js").listen(y, t) : u.hide(), u.on("submit", function(e) { e.preventDefault(); return !1; }))); }; return w; }({}, J, L)); const U = J.loco || {}, ia = U.conf || { $v: [] }; J = B.require("$1", "t.js").init(); L = ia.wplang; U.version = function(w) { return ia.$v[w || 0] || "0"; }; B.require("$2", "html.js"); B.require("$3", "number.js"); B.require("$4", "array.js"); B.require("$5", "json.js"); U.l10n = J; J.load(ia.wpl10n); L && J.pluraleq(L.pluraleq); U.string = B.require("$6", "string.js"); U.notices = B.require("$7", "notices.js").init(J); U.ajax = B.require("$8", "ajax.js").init(ia).localise(J); U.locale = B.require("$9", "wplocale.js"); U.fulltext = B.require("$10", "fulltext.js"); U.watchtext = B.require("$11", "LocoTextListener.js").listen; U.tooltip = B.require("$12", "tooltip.js"); U.po = { ed: B.require("$13", "poedit.js"), kbd: B.require("$14", "hotkeys.js"), init: B.require("$15", "po.js").create, ace: B.require("$16", "ace.js").strf("php"), ref: B.require("$17", "refs.js") }; U.apis = B.require("$18", "client.js"); U.apis.createJob = B.require("$19", "job.js").create; U.apis.providers = function() { return { _: B.require("$20", "wordpress.js"), deepl: B.require("$21", "deepl.js"), google: B.require("$22", "google.js"), lecto: B.require("$23", "lecto.js"), microsoft: B.require("$24", "microsoft.js") }; }; U.fs = B.require("$25", "fsconn.js"); A("#loco-admin.wrap table.wp-list-table").each(function(w, v) { B.require("$26", "tables.js").init(v); }); U.validate = function(w) { w = /^\d+\.\d+\.\d+/.exec(w && w[0] || ""); if ("2.6.11" === (w && w[0])) return !0; U.notices.warn("admin.js is the wrong version (2.6.11). Please empty all relevant caches and reload this page."); return !1; }; })(window, document, window.jQuery);