@mindfiredigital/pivothead
Version:
PivotHead is a powerful and flexible library for creating interactive pivot tables in JavaScript applications. It provides a core engine for data manipulation and, in the future, will be compatible with wrappers for React, Vue, Svelte, and Angular, making
1,466 lines • 1.02 MB
JavaScript
function $f(t, e, r) {
if (!t || t.length === 0)
return 0;
const n = t.map((i) => Number(i[e]) || 0);
switch (r) {
case "sum":
return n.reduce((i, a) => i + a, 0);
case "avg":
return n.reduce((i, a) => i + a, 0) / n.length;
case "min":
return Math.min(...n);
case "max":
return Math.max(...n);
case "count":
return n.length;
default:
return 0;
}
}
function Y2(t, e, r) {
return !e || e.length === 0 ? t : [...t].sort((n, i) => {
for (const a of e) {
const { field: s, direction: o, type: l, aggregation: h } = a;
if (l === "measure") {
const u = Dh(n, s), g = Dh(i, s);
if (u !== g)
return o === "asc" ? u - g : g - u;
} else {
const u = n[s], g = i[s];
if (u !== g)
return o === "asc" ? u < g ? -1 : 1 : u > g ? -1 : 1;
}
}
return 0;
});
}
function Dh(t, e, r) {
return Number(t[e]) || 0;
}
function K2(t, e = null, r = null) {
let n = [...t.data];
e && (n = Y2(n, [e]));
let i = [];
if (r) {
const { rowFields: a, columnFields: s, grouper: o } = r, l = [...a, ...s];
i = Yc(n, l, o);
}
return { data: n, groups: i };
}
function Yc(t, e, r) {
if (!e || e.length === 0)
return [{ key: "All", items: t, subgroups: [], aggregates: {} }];
const n = {};
return t.forEach((i) => {
const a = r(i, e);
n[a] || (n[a] = { key: a, items: [], subgroups: [], aggregates: {} }), n[a].items.push(i);
}), e.length > 1 && Object.values(n).forEach((i) => {
i.subgroups = Yc(i.items, e.slice(1), r);
}), Object.values(n);
}
/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
var M0 = {};
M0.version = "0.18.5";
var Kc = 1252, $2 = [874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1e4], $c = function(t) {
$2.indexOf(t) != -1 && (Kc = t);
};
function J2() {
$c(1252);
}
var _o = function(t) {
$c(t);
};
function Z2() {
_o(1200), J2();
}
function Q2(t) {
for (var e = [], r = 0; r < t.length >> 1; ++r)
e[r] = String.fromCharCode(t.charCodeAt(2 * r + 1) + (t.charCodeAt(2 * r) << 8));
return e.join("");
}
var _0 = function(e) {
return String.fromCharCode(e);
}, Ih = function(e) {
return String.fromCharCode(e);
}, Ea, sa = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function So(t) {
for (var e = "", r = 0, n = 0, i = 0, a = 0, s = 0, o = 0, l = 0, h = 0; h < t.length; )
r = t.charCodeAt(h++), a = r >> 2, n = t.charCodeAt(h++), s = (r & 3) << 4 | n >> 4, i = t.charCodeAt(h++), o = (n & 15) << 2 | i >> 6, l = i & 63, isNaN(n) ? o = l = 64 : isNaN(i) && (l = 64), e += sa.charAt(a) + sa.charAt(s) + sa.charAt(o) + sa.charAt(l);
return e;
}
function ji(t) {
var e = "", r = 0, n = 0, i = 0, a = 0, s = 0, o = 0, l = 0;
t = t.replace(/[^\w\+\/\=]/g, "");
for (var h = 0; h < t.length; )
a = sa.indexOf(t.charAt(h++)), s = sa.indexOf(t.charAt(h++)), r = a << 2 | s >> 4, e += String.fromCharCode(r), o = sa.indexOf(t.charAt(h++)), n = (s & 15) << 4 | o >> 2, o !== 64 && (e += String.fromCharCode(n)), l = sa.indexOf(t.charAt(h++)), i = (o & 3) << 6 | l, l !== 64 && (e += String.fromCharCode(i));
return e;
}
var It = /* @__PURE__ */ function() {
return typeof Buffer < "u" && typeof process < "u" && typeof process.versions < "u" && !!process.versions.node;
}(), Wi = /* @__PURE__ */ function() {
if (typeof Buffer < "u") {
var t = !Buffer.from;
if (!t)
try {
Buffer.from("foo", "utf8");
} catch {
t = !0;
}
return t ? function(e, r) {
return r ? new Buffer(e, r) : new Buffer(e);
} : Buffer.from.bind(Buffer);
}
return function() {
};
}();
function Pa(t) {
return It ? Buffer.alloc ? Buffer.alloc(t) : new Buffer(t) : typeof Uint8Array < "u" ? new Uint8Array(t) : new Array(t);
}
function Rh(t) {
return It ? Buffer.allocUnsafe ? Buffer.allocUnsafe(t) : new Buffer(t) : typeof Uint8Array < "u" ? new Uint8Array(t) : new Array(t);
}
var ri = function(e) {
return It ? Wi(e, "binary") : e.split("").map(function(r) {
return r.charCodeAt(0) & 255;
});
};
function tf(t) {
if (typeof ArrayBuffer > "u")
return ri(t);
for (var e = new ArrayBuffer(t.length), r = new Uint8Array(e), n = 0; n != t.length; ++n)
r[n] = t.charCodeAt(n) & 255;
return e;
}
function Fo(t) {
if (Array.isArray(t))
return t.map(function(n) {
return String.fromCharCode(n);
}).join("");
for (var e = [], r = 0; r < t.length; ++r)
e[r] = String.fromCharCode(t[r]);
return e.join("");
}
function ed(t) {
if (typeof Uint8Array > "u")
throw new Error("Unsupported");
return new Uint8Array(t);
}
var jr = It ? function(t) {
return Buffer.concat(t.map(function(e) {
return Buffer.isBuffer(e) ? e : Wi(e);
}));
} : function(t) {
if (typeof Uint8Array < "u") {
var e = 0, r = 0;
for (e = 0; e < t.length; ++e)
r += t[e].length;
var n = new Uint8Array(r), i = 0;
for (e = 0, r = 0; e < t.length; r += i, ++e)
if (i = t[e].length, t[e] instanceof Uint8Array)
n.set(t[e], r);
else {
if (typeof t[e] == "string")
throw "wtf";
n.set(new Uint8Array(t[e]), r);
}
return n;
}
return [].concat.apply([], t.map(function(a) {
return Array.isArray(a) ? a : [].slice.call(a);
}));
};
function td(t) {
for (var e = [], r = 0, n = t.length + 250, i = Pa(t.length + 255), a = 0; a < t.length; ++a) {
var s = t.charCodeAt(a);
if (s < 128)
i[r++] = s;
else if (s < 2048)
i[r++] = 192 | s >> 6 & 31, i[r++] = 128 | s & 63;
else if (s >= 55296 && s < 57344) {
s = (s & 1023) + 64;
var o = t.charCodeAt(++a) & 1023;
i[r++] = 240 | s >> 8 & 7, i[r++] = 128 | s >> 2 & 63, i[r++] = 128 | o >> 6 & 15 | (s & 3) << 4, i[r++] = 128 | o & 63;
} else
i[r++] = 224 | s >> 12 & 15, i[r++] = 128 | s >> 6 & 63, i[r++] = 128 | s & 63;
r > n && (e.push(i.slice(0, r)), r = 0, i = Pa(65535), n = 65530);
}
return e.push(i.slice(0, r)), jr(e);
}
var uo = /\u0000/g, S0 = /[\u0001-\u0006]/g;
function xs(t) {
for (var e = "", r = t.length - 1; r >= 0; )
e += t.charAt(r--);
return e;
}
function ni(t, e) {
var r = "" + t;
return r.length >= e ? r : fr("0", e - r.length) + r;
}
function Rl(t, e) {
var r = "" + t;
return r.length >= e ? r : fr(" ", e - r.length) + r;
}
function B0(t, e) {
var r = "" + t;
return r.length >= e ? r : r + fr(" ", e - r.length);
}
function rd(t, e) {
var r = "" + Math.round(t);
return r.length >= e ? r : fr("0", e - r.length) + r;
}
function nd(t, e) {
var r = "" + t;
return r.length >= e ? r : fr("0", e - r.length) + r;
}
var Mh = /* @__PURE__ */ Math.pow(2, 32);
function fs(t, e) {
if (t > Mh || t < -Mh)
return rd(t, e);
var r = Math.round(t);
return nd(r, e);
}
function j0(t, e) {
return e = e || 0, t.length >= 7 + e && (t.charCodeAt(e) | 32) === 103 && (t.charCodeAt(e + 1) | 32) === 101 && (t.charCodeAt(e + 2) | 32) === 110 && (t.charCodeAt(e + 3) | 32) === 101 && (t.charCodeAt(e + 4) | 32) === 114 && (t.charCodeAt(e + 5) | 32) === 97 && (t.charCodeAt(e + 6) | 32) === 108;
}
var Bh = [
["Sun", "Sunday"],
["Mon", "Monday"],
["Tue", "Tuesday"],
["Wed", "Wednesday"],
["Thu", "Thursday"],
["Fri", "Friday"],
["Sat", "Saturday"]
], Jf = [
["J", "Jan", "January"],
["F", "Feb", "February"],
["M", "Mar", "March"],
["A", "Apr", "April"],
["M", "May", "May"],
["J", "Jun", "June"],
["J", "Jul", "July"],
["A", "Aug", "August"],
["S", "Sep", "September"],
["O", "Oct", "October"],
["N", "Nov", "November"],
["D", "Dec", "December"]
];
function id(t) {
return t || (t = {}), t[0] = "General", t[1] = "0", t[2] = "0.00", t[3] = "#,##0", t[4] = "#,##0.00", t[9] = "0%", t[10] = "0.00%", t[11] = "0.00E+00", t[12] = "# ?/?", t[13] = "# ??/??", t[14] = "m/d/yy", t[15] = "d-mmm-yy", t[16] = "d-mmm", t[17] = "mmm-yy", t[18] = "h:mm AM/PM", t[19] = "h:mm:ss AM/PM", t[20] = "h:mm", t[21] = "h:mm:ss", t[22] = "m/d/yy h:mm", t[37] = "#,##0 ;(#,##0)", t[38] = "#,##0 ;[Red](#,##0)", t[39] = "#,##0.00;(#,##0.00)", t[40] = "#,##0.00;[Red](#,##0.00)", t[45] = "mm:ss", t[46] = "[h]:mm:ss", t[47] = "mmss.0", t[48] = "##0.0E+0", t[49] = "@", t[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "', t;
}
var lr = {
0: "General",
1: "0",
2: "0.00",
3: "#,##0",
4: "#,##0.00",
9: "0%",
10: "0.00%",
11: "0.00E+00",
12: "# ?/?",
13: "# ??/??",
14: "m/d/yy",
15: "d-mmm-yy",
16: "d-mmm",
17: "mmm-yy",
18: "h:mm AM/PM",
19: "h:mm:ss AM/PM",
20: "h:mm",
21: "h:mm:ss",
22: "m/d/yy h:mm",
37: "#,##0 ;(#,##0)",
38: "#,##0 ;[Red](#,##0)",
39: "#,##0.00;(#,##0.00)",
40: "#,##0.00;[Red](#,##0.00)",
45: "mm:ss",
46: "[h]:mm:ss",
47: "mmss.0",
48: "##0.0E+0",
49: "@",
56: '"上午/下午 "hh"時"mm"分"ss"秒 "'
}, jh = {
5: 37,
6: 38,
7: 39,
8: 40,
// 5 -> 37 ... 8 -> 40
23: 0,
24: 0,
25: 0,
26: 0,
// 23 -> 0 ... 26 -> 0
27: 14,
28: 14,
29: 14,
30: 14,
31: 14,
// 27 -> 14 ... 31 -> 14
50: 14,
51: 14,
52: 14,
53: 14,
54: 14,
// 50 -> 14 ... 58 -> 14
55: 14,
56: 14,
57: 14,
58: 14,
59: 1,
60: 2,
61: 3,
62: 4,
// 59 -> 1 ... 62 -> 4
67: 9,
68: 10,
// 67 -> 9 ... 68 -> 10
69: 12,
70: 13,
71: 14,
// 69 -> 12 ... 71 -> 14
72: 14,
73: 15,
74: 16,
75: 17,
// 72 -> 14 ... 75 -> 17
76: 20,
77: 21,
78: 22,
// 76 -> 20 ... 78 -> 22
79: 45,
80: 46,
81: 47,
// 79 -> 45 ... 81 -> 47
82: 0
// 82 -> 0 ... 65536 -> 0 (omitted)
}, ad = {
// 5 -- Currency, 0 decimal, black negative
5: '"$"#,##0_);\\("$"#,##0\\)',
63: '"$"#,##0_);\\("$"#,##0\\)',
// 6 -- Currency, 0 decimal, red negative
6: '"$"#,##0_);[Red]\\("$"#,##0\\)',
64: '"$"#,##0_);[Red]\\("$"#,##0\\)',
// 7 -- Currency, 2 decimal, black negative
7: '"$"#,##0.00_);\\("$"#,##0.00\\)',
65: '"$"#,##0.00_);\\("$"#,##0.00\\)',
// 8 -- Currency, 2 decimal, red negative
8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',
66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',
// 41 -- Accounting, 0 decimal, No Symbol
41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',
// 42 -- Accounting, 0 decimal, $ Symbol
42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',
// 43 -- Accounting, 2 decimal, No Symbol
43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',
// 44 -- Accounting, 2 decimal, $ Symbol
44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'
};
function U0(t, e, r) {
for (var n = t < 0 ? -1 : 1, i = t * n, a = 0, s = 1, o = 0, l = 1, h = 0, u = 0, g = Math.floor(i); h < e && (g = Math.floor(i), o = g * s + a, u = g * h + l, !(i - g < 5e-8)); )
i = 1 / (i - g), a = s, s = o, l = h, h = u;
if (u > e && (h > e ? (u = l, o = a) : (u = h, o = s)), !r)
return [0, n * o, u];
var v = Math.floor(n * o / u);
return [v, n * o - v * u, u];
}
function A0(t, e, r) {
if (t > 2958465 || t < 0)
return null;
var n = t | 0, i = Math.floor(86400 * (t - n)), a = 0, s = [], o = { D: n, T: i, u: 86400 * (t - n) - i, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 };
if (Math.abs(o.u) < 1e-6 && (o.u = 0), e && e.date1904 && (n += 1462), o.u > 0.9999 && (o.u = 0, ++i == 86400 && (o.T = i = 0, ++n, ++o.D)), n === 60)
s = r ? [1317, 10, 29] : [1900, 2, 29], a = 3;
else if (n === 0)
s = r ? [1317, 8, 29] : [1900, 1, 0], a = 6;
else {
n > 60 && --n;
var l = new Date(1900, 0, 1);
l.setDate(l.getDate() + n - 1), s = [l.getFullYear(), l.getMonth() + 1, l.getDate()], a = l.getDay(), n < 60 && (a = (a + 6) % 7), r && (a = ud(l, s));
}
return o.y = s[0], o.m = s[1], o.d = s[2], o.S = i % 60, i = Math.floor(i / 60), o.M = i % 60, i = Math.floor(i / 60), o.H = i, o.q = a, o;
}
var Jc = /* @__PURE__ */ new Date(1899, 11, 31, 0, 0, 0), sd = /* @__PURE__ */ Jc.getTime(), od = /* @__PURE__ */ new Date(1900, 2, 1, 0, 0, 0);
function Zc(t, e) {
var r = /* @__PURE__ */ t.getTime();
return e ? r -= 1461 * 24 * 60 * 60 * 1e3 : t >= od && (r += 24 * 60 * 60 * 1e3), (r - (sd + (/* @__PURE__ */ t.getTimezoneOffset() - /* @__PURE__ */ Jc.getTimezoneOffset()) * 6e4)) / (24 * 60 * 60 * 1e3);
}
function Ml(t) {
return t.indexOf(".") == -1 ? t : t.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1");
}
function fd(t) {
return t.indexOf("E") == -1 ? t : t.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/, "$1E").replace(/(E[+-])(\d)$/, "$10$2");
}
function ld(t) {
var e = t < 0 ? 12 : 11, r = Ml(t.toFixed(12));
return r.length <= e || (r = t.toPrecision(10), r.length <= e) ? r : t.toExponential(5);
}
function hd(t) {
var e = Ml(t.toFixed(11));
return e.length > (t < 0 ? 12 : 11) || e === "0" || e === "-0" ? t.toPrecision(6) : e;
}
function cd(t) {
var e = Math.floor(Math.log(Math.abs(t)) * Math.LOG10E), r;
return e >= -4 && e <= -1 ? r = t.toPrecision(10 + e) : Math.abs(e) <= 9 ? r = ld(t) : e === 10 ? r = t.toFixed(10).substr(0, 12) : r = hd(t), Ml(fd(r.toUpperCase()));
}
function xl(t, e) {
switch (typeof t) {
case "string":
return t;
case "boolean":
return t ? "TRUE" : "FALSE";
case "number":
return (t | 0) === t ? t.toString(10) : cd(t);
case "undefined":
return "";
case "object":
if (t == null)
return "";
if (t instanceof Date)
return la(14, Zc(t, e && e.date1904), e);
}
throw new Error("unsupported value in General format: " + t);
}
function ud(t, e) {
e[0] -= 581;
var r = t.getDay();
return t < 60 && (r = (r + 6) % 7), r;
}
function dd(t, e, r, n) {
var i = "", a = 0, s = 0, o = r.y, l, h = 0;
switch (t) {
case 98:
o = r.y + 543;
case 121:
switch (e.length) {
case 1:
case 2:
l = o % 100, h = 2;
break;
default:
l = o % 1e4, h = 4;
break;
}
break;
case 109:
switch (e.length) {
case 1:
case 2:
l = r.m, h = e.length;
break;
case 3:
return Jf[r.m - 1][1];
case 5:
return Jf[r.m - 1][0];
default:
return Jf[r.m - 1][2];
}
break;
case 100:
switch (e.length) {
case 1:
case 2:
l = r.d, h = e.length;
break;
case 3:
return Bh[r.q][0];
default:
return Bh[r.q][1];
}
break;
case 104:
switch (e.length) {
case 1:
case 2:
l = 1 + (r.H + 11) % 12, h = e.length;
break;
default:
throw "bad hour format: " + e;
}
break;
case 72:
switch (e.length) {
case 1:
case 2:
l = r.H, h = e.length;
break;
default:
throw "bad hour format: " + e;
}
break;
case 77:
switch (e.length) {
case 1:
case 2:
l = r.M, h = e.length;
break;
default:
throw "bad minute format: " + e;
}
break;
case 115:
if (e != "s" && e != "ss" && e != ".0" && e != ".00" && e != ".000")
throw "bad second format: " + e;
return r.u === 0 && (e == "s" || e == "ss") ? ni(r.S, e.length) : (n >= 2 ? s = n === 3 ? 1e3 : 100 : s = n === 1 ? 10 : 1, a = Math.round(s * (r.S + r.u)), a >= 60 * s && (a = 0), e === "s" ? a === 0 ? "0" : "" + a / s : (i = ni(a, 2 + n), e === "ss" ? i.substr(0, 2) : "." + i.substr(2, e.length - 1)));
case 90:
switch (e) {
case "[h]":
case "[hh]":
l = r.D * 24 + r.H;
break;
case "[m]":
case "[mm]":
l = (r.D * 24 + r.H) * 60 + r.M;
break;
case "[s]":
case "[ss]":
l = ((r.D * 24 + r.H) * 60 + r.M) * 60 + Math.round(r.S + r.u);
break;
default:
throw "bad abstime format: " + e;
}
h = e.length === 3 ? 1 : 2;
break;
case 101:
l = o, h = 1;
break;
}
var u = h > 0 ? ni(l, h) : "";
return u;
}
function oa(t) {
var e = 3;
if (t.length <= e)
return t;
for (var r = t.length % e, n = t.substr(0, r); r != t.length; r += e)
n += (n.length > 0 ? "," : "") + t.substr(r, e);
return n;
}
var Qc = /%/g;
function pd(t, e, r) {
var n = e.replace(Qc, ""), i = e.length - n.length;
return Ri(t, n, r * Math.pow(10, 2 * i)) + fr("%", i);
}
function gd(t, e, r) {
for (var n = e.length - 1; e.charCodeAt(n - 1) === 44; )
--n;
return Ri(t, e.substr(0, n), r / Math.pow(10, 3 * (e.length - n)));
}
function eu(t, e) {
var r, n = t.indexOf("E") - t.indexOf(".") - 1;
if (t.match(/^#+0.0E\+0$/)) {
if (e == 0)
return "0.0E+0";
if (e < 0)
return "-" + eu(t, -e);
var i = t.indexOf(".");
i === -1 && (i = t.indexOf("E"));
var a = Math.floor(Math.log(e) * Math.LOG10E) % i;
if (a < 0 && (a += i), r = (e / Math.pow(10, a)).toPrecision(n + 1 + (i + a) % i), r.indexOf("e") === -1) {
var s = Math.floor(Math.log(e) * Math.LOG10E);
for (r.indexOf(".") === -1 ? r = r.charAt(0) + "." + r.substr(1) + "E+" + (s - r.length + a) : r += "E+" + (s - a); r.substr(0, 2) === "0."; )
r = r.charAt(0) + r.substr(2, i) + "." + r.substr(2 + i), r = r.replace(/^0+([1-9])/, "$1").replace(/^0+\./, "0.");
r = r.replace(/\+-/, "-");
}
r = r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(o, l, h, u) {
return l + h + u.substr(0, (i + a) % i) + "." + u.substr(a) + "E";
});
} else
r = e.toExponential(n);
return t.match(/E\+00$/) && r.match(/e[+-]\d$/) && (r = r.substr(0, r.length - 1) + "0" + r.charAt(r.length - 1)), t.match(/E\-/) && r.match(/e\+/) && (r = r.replace(/e\+/, "e")), r.replace("e", "E");
}
var tu = /# (\?+)( ?)\/( ?)(\d+)/;
function vd(t, e, r) {
var n = parseInt(t[4], 10), i = Math.round(e * n), a = Math.floor(i / n), s = i - a * n, o = n;
return r + (a === 0 ? "" : "" + a) + " " + (s === 0 ? fr(" ", t[1].length + 1 + t[4].length) : Rl(s, t[1].length) + t[2] + "/" + t[3] + ni(o, t[4].length));
}
function md(t, e, r) {
return r + (e === 0 ? "" : "" + e) + fr(" ", t[1].length + 2 + t[4].length);
}
var ru = /^#*0*\.([0#]+)/, nu = /\).*[0#]/, iu = /\(###\) ###\\?-####/;
function rn(t) {
for (var e = "", r, n = 0; n != t.length; ++n)
switch (r = t.charCodeAt(n)) {
case 35:
break;
case 63:
e += " ";
break;
case 48:
e += "0";
break;
default:
e += String.fromCharCode(r);
}
return e;
}
function Uh(t, e) {
var r = Math.pow(10, e);
return "" + Math.round(t * r) / r;
}
function Hh(t, e) {
var r = t - Math.floor(t), n = Math.pow(10, e);
return e < ("" + Math.round(r * n)).length ? 0 : Math.round(r * n);
}
function xd(t, e) {
return e < ("" + Math.round((t - Math.floor(t)) * Math.pow(10, e))).length ? 1 : 0;
}
function wd(t) {
return t < 2147483647 && t > -2147483648 ? "" + (t >= 0 ? t | 0 : t - 1 | 0) : "" + Math.floor(t);
}
function Un(t, e, r) {
if (t.charCodeAt(0) === 40 && !e.match(nu)) {
var n = e.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
return r >= 0 ? Un("n", n, r) : "(" + Un("n", n, -r) + ")";
}
if (e.charCodeAt(e.length - 1) === 44)
return gd(t, e, r);
if (e.indexOf("%") !== -1)
return pd(t, e, r);
if (e.indexOf("E") !== -1)
return eu(e, r);
if (e.charCodeAt(0) === 36)
return "$" + Un(t, e.substr(e.charAt(1) == " " ? 2 : 1), r);
var i, a, s, o, l = Math.abs(r), h = r < 0 ? "-" : "";
if (e.match(/^00+$/))
return h + fs(l, e.length);
if (e.match(/^[#?]+$/))
return i = fs(r, 0), i === "0" && (i = ""), i.length > e.length ? i : rn(e.substr(0, e.length - i.length)) + i;
if (a = e.match(tu))
return vd(a, l, h);
if (e.match(/^#+0+$/))
return h + fs(l, e.length - e.indexOf("0"));
if (a = e.match(ru))
return i = Uh(r, a[1].length).replace(/^([^\.]+)$/, "$1." + rn(a[1])).replace(/\.$/, "." + rn(a[1])).replace(/\.(\d*)$/, function(y, x) {
return "." + x + fr("0", rn(
/*::(*/
a[1]
).length - x.length);
}), e.indexOf("0.") !== -1 ? i : i.replace(/^0\./, ".");
if (e = e.replace(/^#+([0.])/, "$1"), a = e.match(/^(0*)\.(#*)$/))
return h + Uh(l, a[2].length).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, a[1].length ? "0." : ".");
if (a = e.match(/^#{1,3},##0(\.?)$/))
return h + oa(fs(l, 0));
if (a = e.match(/^#,##0\.([#0]*0)$/))
return r < 0 ? "-" + Un(t, e, -r) : oa("" + (Math.floor(r) + xd(r, a[1].length))) + "." + ni(Hh(r, a[1].length), a[1].length);
if (a = e.match(/^#,#*,#0/))
return Un(t, e.replace(/^#,#*,/, ""), r);
if (a = e.match(/^([0#]+)(\\?-([0#]+))+$/))
return i = xs(Un(t, e.replace(/[\\-]/g, ""), r)), s = 0, xs(xs(e.replace(/\\/g, "")).replace(/[0#]/g, function(y) {
return s < i.length ? i.charAt(s++) : y === "0" ? "0" : "";
}));
if (e.match(iu))
return i = Un(t, "##########", r), "(" + i.substr(0, 3) + ") " + i.substr(3, 3) + "-" + i.substr(6);
var u = "";
if (a = e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
return s = Math.min(
/*::String(*/
a[4].length,
7
), o = U0(l, Math.pow(10, s) - 1, !1), i = "" + h, u = Ri(
"n",
/*::String(*/
a[1],
o[1]
), u.charAt(u.length - 1) == " " && (u = u.substr(0, u.length - 1) + "0"), i += u + /*::String(*/
a[2] + "/" + /*::String(*/
a[3], u = B0(o[2], s), u.length < a[4].length && (u = rn(a[4].substr(a[4].length - u.length)) + u), i += u, i;
if (a = e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
return s = Math.min(Math.max(a[1].length, a[4].length), 7), o = U0(l, Math.pow(10, s) - 1, !0), h + (o[0] || (o[1] ? "" : "0")) + " " + (o[1] ? Rl(o[1], s) + a[2] + "/" + a[3] + B0(o[2], s) : fr(" ", 2 * s + 1 + a[2].length + a[3].length));
if (a = e.match(/^[#0?]+$/))
return i = fs(r, 0), e.length <= i.length ? i : rn(e.substr(0, e.length - i.length)) + i;
if (a = e.match(/^([#0?]+)\.([#0]+)$/)) {
i = "" + r.toFixed(Math.min(a[2].length, 10)).replace(/([^0])0+$/, "$1"), s = i.indexOf(".");
var g = e.indexOf(".") - s, v = e.length - i.length - g;
return rn(e.substr(0, g) + i + e.substr(e.length - v));
}
if (a = e.match(/^00,000\.([#0]*0)$/))
return s = Hh(r, a[1].length), r < 0 ? "-" + Un(t, e, -r) : oa(wd(r)).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(y) {
return "00," + (y.length < 3 ? ni(0, 3 - y.length) : "") + y;
}) + "." + ni(s, a[1].length);
switch (e) {
case "###,##0.00":
return Un(t, "#,##0.00", r);
case "###,###":
case "##,###":
case "#,###":
var d = oa(fs(l, 0));
return d !== "0" ? h + d : "";
case "###,###.00":
return Un(t, "###,##0.00", r).replace(/^0\./, ".");
case "#,###.00":
return Un(t, "#,##0.00", r).replace(/^0\./, ".");
}
throw new Error("unsupported format |" + e + "|");
}
function yd(t, e, r) {
for (var n = e.length - 1; e.charCodeAt(n - 1) === 44; )
--n;
return Ri(t, e.substr(0, n), r / Math.pow(10, 3 * (e.length - n)));
}
function _d(t, e, r) {
var n = e.replace(Qc, ""), i = e.length - n.length;
return Ri(t, n, r * Math.pow(10, 2 * i)) + fr("%", i);
}
function au(t, e) {
var r, n = t.indexOf("E") - t.indexOf(".") - 1;
if (t.match(/^#+0.0E\+0$/)) {
if (e == 0)
return "0.0E+0";
if (e < 0)
return "-" + au(t, -e);
var i = t.indexOf(".");
i === -1 && (i = t.indexOf("E"));
var a = Math.floor(Math.log(e) * Math.LOG10E) % i;
if (a < 0 && (a += i), r = (e / Math.pow(10, a)).toPrecision(n + 1 + (i + a) % i), !r.match(/[Ee]/)) {
var s = Math.floor(Math.log(e) * Math.LOG10E);
r.indexOf(".") === -1 ? r = r.charAt(0) + "." + r.substr(1) + "E+" + (s - r.length + a) : r += "E+" + (s - a), r = r.replace(/\+-/, "-");
}
r = r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/, function(o, l, h, u) {
return l + h + u.substr(0, (i + a) % i) + "." + u.substr(a) + "E";
});
} else
r = e.toExponential(n);
return t.match(/E\+00$/) && r.match(/e[+-]\d$/) && (r = r.substr(0, r.length - 1) + "0" + r.charAt(r.length - 1)), t.match(/E\-/) && r.match(/e\+/) && (r = r.replace(/e\+/, "e")), r.replace("e", "E");
}
function pi(t, e, r) {
if (t.charCodeAt(0) === 40 && !e.match(nu)) {
var n = e.replace(/\( */, "").replace(/ \)/, "").replace(/\)/, "");
return r >= 0 ? pi("n", n, r) : "(" + pi("n", n, -r) + ")";
}
if (e.charCodeAt(e.length - 1) === 44)
return yd(t, e, r);
if (e.indexOf("%") !== -1)
return _d(t, e, r);
if (e.indexOf("E") !== -1)
return au(e, r);
if (e.charCodeAt(0) === 36)
return "$" + pi(t, e.substr(e.charAt(1) == " " ? 2 : 1), r);
var i, a, s, o, l = Math.abs(r), h = r < 0 ? "-" : "";
if (e.match(/^00+$/))
return h + ni(l, e.length);
if (e.match(/^[#?]+$/))
return i = "" + r, r === 0 && (i = ""), i.length > e.length ? i : rn(e.substr(0, e.length - i.length)) + i;
if (a = e.match(tu))
return md(a, l, h);
if (e.match(/^#+0+$/))
return h + ni(l, e.length - e.indexOf("0"));
if (a = e.match(ru))
return i = ("" + r).replace(/^([^\.]+)$/, "$1." + rn(a[1])).replace(/\.$/, "." + rn(a[1])), i = i.replace(/\.(\d*)$/, function(y, x) {
return "." + x + fr("0", rn(a[1]).length - x.length);
}), e.indexOf("0.") !== -1 ? i : i.replace(/^0\./, ".");
if (e = e.replace(/^#+([0.])/, "$1"), a = e.match(/^(0*)\.(#*)$/))
return h + ("" + l).replace(/\.(\d*[1-9])0*$/, ".$1").replace(/^(-?\d*)$/, "$1.").replace(/^0\./, a[1].length ? "0." : ".");
if (a = e.match(/^#{1,3},##0(\.?)$/))
return h + oa("" + l);
if (a = e.match(/^#,##0\.([#0]*0)$/))
return r < 0 ? "-" + pi(t, e, -r) : oa("" + r) + "." + fr("0", a[1].length);
if (a = e.match(/^#,#*,#0/))
return pi(t, e.replace(/^#,#*,/, ""), r);
if (a = e.match(/^([0#]+)(\\?-([0#]+))+$/))
return i = xs(pi(t, e.replace(/[\\-]/g, ""), r)), s = 0, xs(xs(e.replace(/\\/g, "")).replace(/[0#]/g, function(y) {
return s < i.length ? i.charAt(s++) : y === "0" ? "0" : "";
}));
if (e.match(iu))
return i = pi(t, "##########", r), "(" + i.substr(0, 3) + ") " + i.substr(3, 3) + "-" + i.substr(6);
var u = "";
if (a = e.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))
return s = Math.min(
/*::String(*/
a[4].length,
7
), o = U0(l, Math.pow(10, s) - 1, !1), i = "" + h, u = Ri(
"n",
/*::String(*/
a[1],
o[1]
), u.charAt(u.length - 1) == " " && (u = u.substr(0, u.length - 1) + "0"), i += u + /*::String(*/
a[2] + "/" + /*::String(*/
a[3], u = B0(o[2], s), u.length < a[4].length && (u = rn(a[4].substr(a[4].length - u.length)) + u), i += u, i;
if (a = e.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))
return s = Math.min(Math.max(a[1].length, a[4].length), 7), o = U0(l, Math.pow(10, s) - 1, !0), h + (o[0] || (o[1] ? "" : "0")) + " " + (o[1] ? Rl(o[1], s) + a[2] + "/" + a[3] + B0(o[2], s) : fr(" ", 2 * s + 1 + a[2].length + a[3].length));
if (a = e.match(/^[#0?]+$/))
return i = "" + r, e.length <= i.length ? i : rn(e.substr(0, e.length - i.length)) + i;
if (a = e.match(/^([#0]+)\.([#0]+)$/)) {
i = "" + r.toFixed(Math.min(a[2].length, 10)).replace(/([^0])0+$/, "$1"), s = i.indexOf(".");
var g = e.indexOf(".") - s, v = e.length - i.length - g;
return rn(e.substr(0, g) + i + e.substr(e.length - v));
}
if (a = e.match(/^00,000\.([#0]*0)$/))
return r < 0 ? "-" + pi(t, e, -r) : oa("" + r).replace(/^\d,\d{3}$/, "0$&").replace(/^\d*$/, function(y) {
return "00," + (y.length < 3 ? ni(0, 3 - y.length) : "") + y;
}) + "." + ni(0, a[1].length);
switch (e) {
case "###,###":
case "##,###":
case "#,###":
var d = oa("" + l);
return d !== "0" ? h + d : "";
default:
if (e.match(/\.[0#?]*$/))
return pi(t, e.slice(0, e.lastIndexOf(".")), r) + rn(e.slice(e.lastIndexOf(".")));
}
throw new Error("unsupported format |" + e + "|");
}
function Ri(t, e, r) {
return (r | 0) === r ? pi(t, e, r) : Un(t, e, r);
}
function Sd(t) {
for (var e = [], r = !1, n = 0, i = 0; n < t.length; ++n)
switch (
/*cc=*/
t.charCodeAt(n)
) {
case 34:
r = !r;
break;
case 95:
case 42:
case 92:
++n;
break;
case 59:
e[e.length] = t.substr(i, n - i), i = n + 1;
}
if (e[e.length] = t.substr(i), r === !0)
throw new Error("Format |" + t + "| unterminated string ");
return e;
}
var su = /\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;
function ou(t) {
for (var e = 0, r = "", n = ""; e < t.length; )
switch (r = t.charAt(e)) {
case "G":
j0(t, e) && (e += 6), e++;
break;
case '"':
for (
;
/*cc=*/
t.charCodeAt(++e) !== 34 && e < t.length;
)
;
++e;
break;
case "\\":
e += 2;
break;
case "_":
e += 2;
break;
case "@":
++e;
break;
case "B":
case "b":
if (t.charAt(e + 1) === "1" || t.charAt(e + 1) === "2")
return !0;
case "M":
case "D":
case "Y":
case "H":
case "S":
case "E":
case "m":
case "d":
case "y":
case "h":
case "s":
case "e":
case "g":
return !0;
case "A":
case "a":
case "上":
if (t.substr(e, 3).toUpperCase() === "A/P" || t.substr(e, 5).toUpperCase() === "AM/PM" || t.substr(e, 5).toUpperCase() === "上午/下午")
return !0;
++e;
break;
case "[":
for (n = r; t.charAt(e++) !== "]" && e < t.length; )
n += t.charAt(e);
if (n.match(su))
return !0;
break;
case ".":
case "0":
case "#":
for (; e < t.length && ("0#?.,E+-%".indexOf(r = t.charAt(++e)) > -1 || r == "\\" && t.charAt(e + 1) == "-" && "0#".indexOf(t.charAt(e + 2)) > -1); )
;
break;
case "?":
for (; t.charAt(++e) === r; )
;
break;
case "*":
++e, (t.charAt(e) == " " || t.charAt(e) == "*") && ++e;
break;
case "(":
case ")":
++e;
break;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
for (; e < t.length && "0123456789".indexOf(t.charAt(++e)) > -1; )
;
break;
case " ":
++e;
break;
default:
++e;
break;
}
return !1;
}
function Ad(t, e, r, n) {
for (var i = [], a = "", s = 0, o = "", l = "t", h, u, g, v = "H"; s < t.length; )
switch (o = t.charAt(s)) {
case "G":
if (!j0(t, s))
throw new Error("unrecognized character " + o + " in " + t);
i[i.length] = { t: "G", v: "General" }, s += 7;
break;
case '"':
for (a = ""; (g = t.charCodeAt(++s)) !== 34 && s < t.length; )
a += String.fromCharCode(g);
i[i.length] = { t: "t", v: a }, ++s;
break;
case "\\":
var d = t.charAt(++s), y = d === "(" || d === ")" ? d : "t";
i[i.length] = { t: y, v: d }, ++s;
break;
case "_":
i[i.length] = { t: "t", v: " " }, s += 2;
break;
case "@":
i[i.length] = { t: "T", v: e }, ++s;
break;
case "B":
case "b":
if (t.charAt(s + 1) === "1" || t.charAt(s + 1) === "2") {
if (h == null && (h = A0(e, r, t.charAt(s + 1) === "2"), h == null))
return "";
i[i.length] = { t: "X", v: t.substr(s, 2) }, l = o, s += 2;
break;
}
case "M":
case "D":
case "Y":
case "H":
case "S":
case "E":
o = o.toLowerCase();
case "m":
case "d":
case "y":
case "h":
case "s":
case "e":
case "g":
if (e < 0 || h == null && (h = A0(e, r), h == null))
return "";
for (a = o; ++s < t.length && t.charAt(s).toLowerCase() === o; )
a += o;
o === "m" && l.toLowerCase() === "h" && (o = "M"), o === "h" && (o = v), i[i.length] = { t: o, v: a }, l = o;
break;
case "A":
case "a":
case "上":
var x = { t: o, v: o };
if (h == null && (h = A0(e, r)), t.substr(s, 3).toUpperCase() === "A/P" ? (h != null && (x.v = h.H >= 12 ? "P" : "A"), x.t = "T", v = "h", s += 3) : t.substr(s, 5).toUpperCase() === "AM/PM" ? (h != null && (x.v = h.H >= 12 ? "PM" : "AM"), x.t = "T", s += 5, v = "h") : t.substr(s, 5).toUpperCase() === "上午/下午" ? (h != null && (x.v = h.H >= 12 ? "下午" : "上午"), x.t = "T", s += 5, v = "h") : (x.t = "t", ++s), h == null && x.t === "T")
return "";
i[i.length] = x, l = o;
break;
case "[":
for (a = o; t.charAt(s++) !== "]" && s < t.length; )
a += t.charAt(s);
if (a.slice(-1) !== "]")
throw 'unterminated "[" block: |' + a + "|";
if (a.match(su)) {
if (h == null && (h = A0(e, r), h == null))
return "";
i[i.length] = { t: "Z", v: a.toLowerCase() }, l = a.charAt(1);
} else
a.indexOf("$") > -1 && (a = (a.match(/\$([^-\[\]]*)/) || [])[1] || "$", ou(t) || (i[i.length] = { t: "t", v: a }));
break;
case ".":
if (h != null) {
for (a = o; ++s < t.length && (o = t.charAt(s)) === "0"; )
a += o;
i[i.length] = { t: "s", v: a };
break;
}
case "0":
case "#":
for (a = o; ++s < t.length && "0#?.,E+-%".indexOf(o = t.charAt(s)) > -1; )
a += o;
i[i.length] = { t: "n", v: a };
break;
case "?":
for (a = o; t.charAt(++s) === o; )
a += o;
i[i.length] = { t: o, v: a }, l = o;
break;
case "*":
++s, (t.charAt(s) == " " || t.charAt(s) == "*") && ++s;
break;
case "(":
case ")":
i[i.length] = { t: n === 1 ? "t" : o, v: o }, ++s;
break;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
for (a = o; s < t.length && "0123456789".indexOf(t.charAt(++s)) > -1; )
a += t.charAt(s);
i[i.length] = { t: "D", v: a };
break;
case " ":
i[i.length] = { t: o, v: o }, ++s;
break;
case "$":
i[i.length] = { t: "t", v: "$" }, ++s;
break;
default:
if (",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(o) === -1)
throw new Error("unrecognized character " + o + " in " + t);
i[i.length] = { t: "t", v: o }, ++s;
break;
}
var S = 0, A = 0, b;
for (s = i.length - 1, l = "t"; s >= 0; --s)
switch (i[s].t) {
case "h":
case "H":
i[s].t = v, l = "h", S < 1 && (S = 1);
break;
case "s":
(b = i[s].v.match(/\.0+$/)) && (A = Math.max(A, b[0].length - 1)), S < 3 && (S = 3);
case "d":
case "y":
case "M":
case "e":
l = i[s].t;
break;
case "m":
l === "s" && (i[s].t = "M", S < 2 && (S = 2));
break;
case "X":
break;
case "Z":
S < 1 && i[s].v.match(/[Hh]/) && (S = 1), S < 2 && i[s].v.match(/[Mm]/) && (S = 2), S < 3 && i[s].v.match(/[Ss]/) && (S = 3);
}
switch (S) {
case 0:
break;
case 1:
h.u >= 0.5 && (h.u = 0, ++h.S), h.S >= 60 && (h.S = 0, ++h.M), h.M >= 60 && (h.M = 0, ++h.H);
break;
case 2:
h.u >= 0.5 && (h.u = 0, ++h.S), h.S >= 60 && (h.S = 0, ++h.M);
break;
}
var I = "", H;
for (s = 0; s < i.length; ++s)
switch (i[s].t) {
case "t":
case "T":
case " ":
case "D":
break;
case "X":
i[s].v = "", i[s].t = ";";
break;
case "d":
case "m":
case "y":
case "h":
case "H":
case "M":
case "s":
case "e":
case "b":
case "Z":
i[s].v = dd(i[s].t.charCodeAt(0), i[s].v, h, A), i[s].t = "t";
break;
case "n":
case "?":
for (H = s + 1; i[H] != null && ((o = i[H].t) === "?" || o === "D" || (o === " " || o === "t") && i[H + 1] != null && (i[H + 1].t === "?" || i[H + 1].t === "t" && i[H + 1].v === "/") || i[s].t === "(" && (o === " " || o === "n" || o === ")") || o === "t" && (i[H].v === "/" || i[H].v === " " && i[H + 1] != null && i[H + 1].t == "?")); )
i[s].v += i[H].v, i[H] = { v: "", t: ";" }, ++H;
I += i[s].v, s = H - 1;
break;
case "G":
i[s].t = "t", i[s].v = xl(e, r);
break;
}
var te = "", le, j;
if (I.length > 0) {
I.charCodeAt(0) == 40 ? (le = e < 0 && I.charCodeAt(0) === 45 ? -e : e, j = Ri("n", I, le)) : (le = e < 0 && n > 1 ? -e : e, j = Ri("n", I, le), le < 0 && i[0] && i[0].t == "t" && (j = j.substr(1), i[0].v = "-" + i[0].v)), H = j.length - 1;
var M = i.length;
for (s = 0; s < i.length; ++s)
if (i[s] != null && i[s].t != "t" && i[s].v.indexOf(".") > -1) {
M = s;
break;
}
var q = i.length;
if (M === i.length && j.indexOf("E") === -1) {
for (s = i.length - 1; s >= 0; --s)
i[s] == null || "n?".indexOf(i[s].t) === -1 || (H >= i[s].v.length - 1 ? (H -= i[s].v.length, i[s].v = j.substr(H + 1, i[s].v.length)) : H < 0 ? i[s].v = "" : (i[s].v = j.substr(0, H + 1), H = -1), i[s].t = "t", q = s);
H >= 0 && q < i.length && (i[q].v = j.substr(0, H + 1) + i[q].v);
} else if (M !== i.length && j.indexOf("E") === -1) {
for (H = j.indexOf(".") - 1, s = M; s >= 0; --s)
if (!(i[s] == null || "n?".indexOf(i[s].t) === -1)) {
for (u = i[s].v.indexOf(".") > -1 && s === M ? i[s].v.indexOf(".") - 1 : i[s].v.length - 1, te = i[s].v.substr(u + 1); u >= 0; --u)
H >= 0 && (i[s].v.charAt(u) === "0" || i[s].v.charAt(u) === "#") && (te = j.charAt(H--) + te);
i[s].v = te, i[s].t = "t", q = s;
}
for (H >= 0 && q < i.length && (i[q].v = j.substr(0, H + 1) + i[q].v), H = j.indexOf(".") + 1, s = M; s < i.length; ++s)
if (!(i[s] == null || "n?(".indexOf(i[s].t) === -1 && s !== M)) {
for (u = i[s].v.indexOf(".") > -1 && s === M ? i[s].v.indexOf(".") + 1 : 0, te = i[s].v.substr(0, u); u < i[s].v.length; ++u)
H < j.length && (te += j.charAt(H++));
i[s].v = te, i[s].t = "t", q = s;
}
}
}
for (s = 0; s < i.length; ++s)
i[s] != null && "n?".indexOf(i[s].t) > -1 && (le = n > 1 && e < 0 && s > 0 && i[s - 1].v === "-" ? -e : e, i[s].v = Ri(i[s].t, i[s].v, le), i[s].t = "t");
var ee = "";
for (s = 0; s !== i.length; ++s)
i[s] != null && (ee += i[s].v);
return ee;
}
var Wh = /\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;
function qh(t, e) {
if (e == null)
return !1;
var r = parseFloat(e[2]);
switch (e[1]) {
case "=":
if (t == r)
return !0;
break;
case ">":
if (t > r)
return !0;
break;
case "<":
if (t < r)
return !0;
break;
case "<>":
if (t != r)
return !0;
break;
case ">=":
if (t >= r)
return !0;
break;
case "<=":
if (t <= r)
return !0;
break;
}
return !1;
}
function bd(t, e) {
var r = Sd(t), n = r.length, i = r[n - 1].indexOf("@");
if (n < 4 && i > -1 && --n, r.length > 4)
throw new Error("cannot find right format for |" + r.join("|") + "|");
if (typeof e != "number")
return [4, r.length === 4 || i > -1 ? r[r.length - 1] : "@"];
switch (r.length) {
case 1:
r = i > -1 ? ["General", "General", "General", r[0]] : [r[0], r[0], r[0], "@"];
break;
case 2:
r = i > -1 ? [r[0], r[0], r[0], r[1]] : [r[0], r[1], r[0], "@"];
break;
case 3:
r = i > -1 ? [r[0], r[1], r[0], r[2]] : [r[0], r[1], r[2], "@"];
break;
}
var a = e > 0 ? r[0] : e < 0 ? r[1] : r[2];
if (r[0].indexOf("[") === -1 && r[1].indexOf("[") === -1)
return [n, a];
if (r[0].match(/\[[=<>]/) != null || r[1].match(/\[[=<>]/) != null) {
var s = r[0].match(Wh), o = r[1].match(Wh);
return qh(e, s) ? [n, r[0]] : qh(e, o) ? [n, r[1]] : [n, r[s != null && o != null ? 2 : 1]];
}
return [n, a];
}
function la(t, e, r) {
r == null && (r = {});
var n = "";
switch (typeof t) {
case "string":
t == "m/d/yy" && r.dateNF ? n = r.dateNF : n = t;
break;
case "number":
t == 14 && r.dateNF ? n = r.dateNF : n = (r.table != null ? r.table : lr)[t], n == null && (n = r.table && r.table[jh[t]] || lr[jh[t]]), n == null && (n = ad[t] || "General");
break;
}
if (j0(n, 0))
return xl(e, r);
e instanceof Date && (e = Zc(e, r.date1904));
var i = bd(n, e);
if (j0(i[1]))
return xl(e, r);
if (e === !0)
e = "TRUE";
else if (e === !1)
e = "FALSE";
else if (e === "" || e == null)
return "";
return Ad(i[1], e, r, i[0]);
}
function fu(t, e) {
if (typeof e != "number") {
e = +e || -1;
for (var r = 0; r < 392; ++r) {
if (lr[r] == null) {
e < 0 && (e = r);
continue;
}
if (lr[r] == t) {
e = r;
break;
}
}
e < 0 && (e = 391);
}
return lr[e] = t, e;
}
function rf(t) {
for (var e = 0; e != 392; ++e)
t[e] !== void 0 && fu(t[e], e);
}
function nf() {
lr = id();
}
var lu = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;
function Td(t) {
var e = typeof t == "number" ? lr[t] : t;
return e = e.replace(lu, "(\\d+)"), new RegExp("^" + e + "$");
}
function Ed(t, e, r) {
var n = -1, i = -1, a = -1, s = -1, o = -1, l = -1;
(e.match(lu) || []).forEach(function(g, v) {
var d = parseInt(r[v + 1], 10);
switch (g.toLowerCase().charAt(0)) {
case "y":
n = d;
break;
case "d":
a = d;
break;
case "h":
s = d;
break;
case "s":
l = d;
break;
case "m":
s >= 0 ? o = d : i = d;
break;
}
}), l >= 0 && o == -1 && i >= 0 && (o = i, i = -1);
var h = ("" + (n >= 0 ? n : (/* @__PURE__ */ new Date()).getFullYear())).slice(-4) + "-" + ("00" + (i >= 1 ? i : 1)).slice(-2) + "-" + ("00" + (a >= 1 ? a : 1)).slice(-2);
h.length == 7 && (h = "0" + h), h.length == 8 && (h = "20" + h);
var u = ("00" + (s >= 0 ? s : 0)).slice(-2) + ":" + ("00" + (o >= 0 ? o : 0)).slice(-2) + ":" + ("00" + (l >= 0 ? l : 0)).slice(-2);
return s == -1 && o == -1 && l == -1 ? h : n == -1 && i == -1 && a == -1 ? u : h + "T" + u;
}
var Nd = /* @__PURE__ */ function() {
var t = {};
t.version = "1.2.0";
function e() {
for (var j = 0, M = new Array(256), q = 0; q != 256; ++q)
j = q, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, j = j & 1 ? -306674912 ^ j >>> 1 : j >>> 1, M[q] = j;
return typeof Int32Array < "u" ? new Int32Array(M) : M;
}
var r = e();
function n(j) {
var M = 0, q = 0, ee = 0, F = typeof Int32Array < "u" ? new Int32Array(4096) : new Array(4096);
for (ee = 0; ee != 256; ++ee)
F[ee] = j[ee];
for (ee = 0; ee != 256; ++ee)
for (q = j[ee], M = 256 + ee; M < 4096; M += 256)
q = F[M] = q >>> 8 ^ j[q & 255];
var P = [];
for (ee = 1; ee != 16; ++ee)
P[ee - 1] = typeof Int32Array < "u" ? F.subarray(ee * 256, ee * 256 + 256) : F.slice(ee * 256, ee * 256 + 256);
return P;
}
var i = n(r), a = i[0], s = i[1], o = i[2], l = i[3], h = i[4], u = i[5], g = i[6], v = i[7], d = i[8], y = i[9], x = i[10], S = i[11], A = i[12], b = i[13], I = i[14];
function H(j, M) {
for (var q = M ^ -1, ee = 0, F = j.length; ee < F; )
q = q >>> 8 ^ r[(q ^ j.charCodeAt(ee++)) & 255];
return ~q;
}
function te(j, M) {
for (var q = M ^ -1, ee = j.length - 15, F = 0; F < ee; )
q = I[j[F++] ^ q & 255] ^ b[j[F++] ^ q >> 8 & 255] ^ A[j[F++] ^ q >> 16 & 255] ^ S[j[F++] ^ q >>> 24] ^ x[j[F++]] ^ y[j[F++]] ^ d[j[F++]] ^ v[j[F++]] ^ g[j[F++]] ^ u[j[F++]] ^ h[j[F++]] ^ l[j[F++]] ^ o[j[F++]] ^ s[j[F++]] ^ a[j[F++]] ^ r[j[F++]];
for (ee += 15; F < ee; )
q = q >>> 8 ^ r[(q ^ j[F++]) & 255];
return ~q;
}
function le(j, M) {
for (var q = M ^ -1, ee = 0, F = j.length, P = 0, Y = 0; ee < F; )
P = j.charCodeAt(ee++), P < 128 ? q = q >>> 8 ^ r[(q ^ P) & 255] : P < 2048 ? (q = q >>> 8 ^ r[(q ^ (192 | P >> 6 & 31)) & 255], q = q >>> 8 ^ r[(q ^ (128 | P & 63)) & 255]) : P >= 55296 && P < 57344 ? (P = (P & 1023) + 64, Y = j.charCodeAt(ee++) & 1023, q = q >>> 8 ^ r[(q ^ (240 | P >> 8 & 7)) & 255], q = q >>> 8 ^ r[(q ^ (128 | P >> 2 & 63)) & 255], q = q >>> 8 ^ r[(q ^ (128 | Y >> 6 & 15 | (P & 3) << 4)) & 255], q = q >>> 8 ^ r[(q ^ (128 | Y & 63)) & 255]) : (q = q >>> 8 ^ r[(q ^ (224 | P >> 12 & 15)) & 255], q = q >>> 8 ^ r[(q ^ (128 | P >> 6 & 63)) & 255], q = q >>> 8 ^ r[(q ^ (128 | P & 63)) & 255]);
return ~q;
}
return t.table = r, t.bstr = H, t.buf = te, t.str = le, t;
}(), Xt = /* @__PURE__ */ function() {
var e = {};
e.version = "1.2.1";
function r(O, X) {
for (var U = O.split("/"), W = X.split("/"), G = 0, K = 0, ge = Math.min(U.length, W.length); G < ge; ++G) {
if (K = U[G].length - W[G].length)
return K;
if (U[G] != W[G])
return U[G] < W[G] ? -1 : 1;
}
return U.length - W.length;
}
function n(O) {
if (O.charAt(O.length - 1) == "/")
return O.slice(0, -1).indexOf("/") === -1 ? O : n(O.slice(0, -1));
var X = O.lastIndexOf("/");
return X === -1 ? O : O.slice(0, X + 1);
}
function i(O) {
if (O.charAt(O.length - 1) == "/")
return i(O.slice(0, -1));
var X = O.lastIndexOf("/");
return X === -1 ? O : O.slice(X + 1);
}
function a(O, X) {
typeof X == "string" && (X = new Date(X));
var U = X.getHours();
U = U << 6 | X.getMinutes(), U = U << 5 | X.getSeconds() >>> 1, O.write_shift(2, U);
var W = X.getFullYear() - 1980;
W = W << 4 | X.getMonth() + 1, W = W << 5 | X.getDate(), O.write_shift(2, W);
}
function s(O) {
var X = O.read_shift(2) & 65535, U = O.read_shift(2) & 65535, W = /* @__PURE__ */ new Date(), G = U & 31;
U >>>= 5;
var K = U & 15;
U >>>= 4, W.setMilliseconds(0), W.setFullYear(U + 1980), W.setMonth(K - 1), W.setDate(G);
var ge = X & 31;
X >>>= 5;
var Ee = X & 63;
return X >>>= 6, W.setHours(X), W.setMinutes(Ee), W.setSeconds(ge << 1), W;
}
function o(O) {
Tn(O, 0);
for (var X = (
/*::(*/
{}
), U = 0; O.l <= O.length - 4; ) {
var W = O.read_shift(2), G = O.read_shift(2), K = O.l + G, ge = {};
switch (W) {
case 21589:
U = O.read_shift(1), U & 1 && (ge.mtime = O.read_shift(4)), G > 5 && (U & 2 && (ge.atime = O.read_shift(4)), U & 4 && (ge.ctime = O.read_shift(4))), ge.mtime && (ge.mt = new Date(ge.mtime * 1e3));
break;
}
O.l = K, X[W] = ge;
}
return X;
}
var l;
function h() {
return l || (l = {});
}
function u(O, X) {
if (O[0] == 80 && O[1] == 75)
return er(O, X);
if ((O[0] | 32) == 109 && (O[1] | 32) == 105)
return kn(O, X);
if (O.length < 512)
throw new Error("CFB file size " + O.length + " < 512");
var U = 3, W = 512, G = 0, K = 0, ge = 0, Ee = 0, pe = 0, ye = [], _e = (
/*::(*/
O.slice(0, 512)
);
Tn(_e, 0);
var Ue = g(_e);
switch (U = Ue[0], U) {
case 3:
W = 512;
break;
case 4:
W = 4096;
break;
case 0:
if (Ue[1] == 0)
return er(O, X);
default:
throw new Error("Major Version: Expected 3 or 4 saw " + U);
}
W !== 512 && (_e = /*::(*/
O.slice(0, W), Tn(
_e,
28
/* blob.l */
));
var Ve = O.slice(0, W);
v(_e, U);
var tt = _e.read_shift(4, "i");
if (U === 3 && tt !== 0)
throw new Error("# Directory Sectors: Expected 0 saw " + tt);
_e.l += 4, ge = _e.read_shift(4, "i"), _e.l += 4, _e.chk("00100000", "Mini Stream Cutoff Size: "), Ee = _e.read_shift(4, "i"), G = _e.read_shift(4, "i"), pe = _e.read_shift(4, "i"), K = _e.read_shift(4, "i");
for (var We = -1, et = 0; et < 109 && (We = _e.read_shift(4, "i"), !(We < 0)); ++et)
ye[et] = We;
var pt = d(O, W);
S(pe, K, pt, W, ye);
var Mt = b(pt, ge, ye, W);
Mt[ge].name = "!Directory", G > 0 && Ee !== Y && (Mt[Ee].name = "!MiniFAT"), Mt[ye[0]].name = "!FAT", Mt.fat_addrs = ye, Mt.ssz = W;
var Vt = {}, mr = [], zn = [], Si = [];
I(ge, Mt, pt, mr, G, Vt, zn, Ee), y(zn, Si, mr), mr.shift();
var fi = {
FileIndex: zn,
FullPaths: Si
};
return X && X.raw && (fi.raw = { header: Ve, sectors: pt }), fi;
}
function g(O) {
if (O[O.l] == 80 && O[O.l + 1] == 75)
return [0, 0];
O.chk(Q, "Header Signature: "), O.l += 16;
var X = O.read_shift(2, "u");
return [O.read_shift(2, "u"), X];
}
function v(O, X) {
var U = 9;
switch (O.l += 2, U = O.read_shift(2)) {
case 9:
if (X != 3)
throw new Error("Sector Shift: Expected 9 saw " + U);
break;
case 12:
if (X != 4)
throw new Error("Sector Shift: Expected 12 saw " + U);
break;
default:
throw new Error("Sector Shift: Expected 9 or 12 saw " + U);
}
O.chk("0600", "Mini Sector Shift: "), O.chk("000000000000", "Reserved: ");
}
function d(O, X) {
for (var U = Math.ceil(O.length / X) - 1, W = [], G = 1; G < U; ++G)
W[G - 1] = O.slice(G * X, (G + 1) * X);
return W[U - 1] = O.slice(U * X), W;
}
function y(O, X, U) {
for (var W = 0, G = 0, K = 0, ge = 0, Ee = 0, pe = U.length, ye = [], _e = []; W < pe; ++W)
ye[W] = _e[W] = W, X[W] = U[W];
for (; Ee < _e.length; ++E