webshap
Version:
Explain any ML models anywhere
1,590 lines (1,588 loc) • 2.18 MB
JavaScript
var N$ = Object.defineProperty;
var k$ = (n, e, t) => e in n ? N$(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
var Xe = (n, e, t) => (k$(n, typeof e != "symbol" ? e + "" : e, t), t);
function A$(n, e) {
for (var t = 0; t < e.length; t++) {
const r = e[t];
if (typeof r != "string" && !Array.isArray(r)) {
for (const s in r)
if (s !== "default" && !(s in n)) {
const o = Object.getOwnPropertyDescriptor(r, s);
o && Object.defineProperty(n, s, o.get ? o : {
enumerable: !0,
get: () => r[s]
});
}
}
}
return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
}
const $1 = Math.random, T$ = function n(e) {
function t(r, s) {
return r = r == null ? 0 : +r, s = s == null ? 1 : +s, arguments.length === 1 ? (s = r, r = 0) : s -= r, function() {
return e() * s + r;
};
}
return t.source = n, t;
}($1), F$ = function n(e) {
function t(r, s) {
return arguments.length < 2 && (s = r, r = 0), r = Math.floor(r), s = Math.floor(s) - r, function() {
return Math.floor(e() * s + r);
};
}
return t.source = n, t;
}($1), R$ = 1664525, _$ = 1013904223, Xm = 1 / 4294967296;
function jm(n = Math.random()) {
let e = (0 <= n && n < 1 ? n / Xm : Math.abs(n)) | 0;
return () => (e = R$ * e + _$ | 0, Xm * (e >>> 0));
}
const Ym = (n, e) => {
const t = Math.min(e, n - e);
return Array.from(new Array(t), (r, s) => s + 1).reduce((r, s) => r * (n + 1 - s) / s, 1);
}, M$ = (n, e) => {
const t = [];
function r(s = 0, o = []) {
if (o.length === e) {
t.push(o);
return;
}
for (let i = s; i < n.length; i++)
r(i + 1, [...o, n[i]]);
}
return r(), t;
};
function Kh() {
return Kh = Object.assign ? Object.assign.bind() : function(n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t)
Object.prototype.hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}, Kh.apply(this, arguments);
}
var I1 = {
// minimum relative difference between two compared values,
// used by all comparison functions
epsilon: 1e-12,
// type of default matrix output. Choose 'matrix' (default) or 'array'
matrix: "Matrix",
// type of default number output. Choose 'number' (default) 'BigNumber', or 'Fraction
number: "number",
// number of significant digits in BigNumbers
precision: 64,
// predictable output type of functions. When true, output type depends only
// on the input types. When false (default), output type can vary depending
// on input values. For example `math.sqrt(-4)` returns `complex('2i')` when
// predictable is false, and returns `NaN` when true.
predictable: !1,
// random seed for seeded pseudo random number generation
// null = randomly seed
randomSeed: null
};
function Nt(n) {
return typeof n == "number";
}
function Xt(n) {
return !n || typeof n != "object" || typeof n.constructor != "function" ? !1 : n.isBigNumber === !0 && typeof n.constructor.prototype == "object" && n.constructor.prototype.isBigNumber === !0 || typeof n.constructor.isDecimal == "function" && n.constructor.isDecimal(n) === !0;
}
function S1(n) {
return n && typeof n == "object" && Object.getPrototypeOf(n).isComplex === !0 || !1;
}
function E1(n) {
return n && typeof n == "object" && Object.getPrototypeOf(n).isFraction === !0 || !1;
}
function N1(n) {
return n && n.constructor.prototype.isUnit === !0 || !1;
}
function yr(n) {
return typeof n == "string";
}
var pt = Array.isArray;
function ct(n) {
return n && n.constructor.prototype.isMatrix === !0 || !1;
}
function Gi(n) {
return Array.isArray(n) || ct(n);
}
function O$(n) {
return n && n.isDenseMatrix && n.constructor.prototype.isMatrix === !0 || !1;
}
function B$(n) {
return n && n.isSparseMatrix && n.constructor.prototype.isMatrix === !0 || !1;
}
function k1(n) {
return n && n.constructor.prototype.isRange === !0 || !1;
}
function Zd(n) {
return n && n.constructor.prototype.isIndex === !0 || !1;
}
function L$(n) {
return typeof n == "boolean";
}
function P$(n) {
return n && n.constructor.prototype.isResultSet === !0 || !1;
}
function z$(n) {
return n && n.constructor.prototype.isHelp === !0 || !1;
}
function V$(n) {
return typeof n == "function";
}
function W$(n) {
return n instanceof Date;
}
function U$(n) {
return n instanceof RegExp;
}
function G$(n) {
return !!(n && typeof n == "object" && n.constructor === Object && !S1(n) && !E1(n));
}
function H$(n) {
return n === null;
}
function q$(n) {
return n === void 0;
}
function K$(n) {
return n && n.isAccessorNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function X$(n) {
return n && n.isArrayNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function j$(n) {
return n && n.isAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function Y$(n) {
return n && n.isBlockNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function Z$(n) {
return n && n.isConditionalNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function J$(n) {
return n && n.isConstantNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function Q$(n) {
return n && n.isFunctionAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function e2(n) {
return n && n.isFunctionNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function t2(n) {
return n && n.isIndexNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function n2(n) {
return n && n.isNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function r2(n) {
return n && n.isObjectNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function s2(n) {
return n && n.isOperatorNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function o2(n) {
return n && n.isParenthesisNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function i2(n) {
return n && n.isRangeNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function a2(n) {
return n && n.isRelationalNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function u2(n) {
return n && n.isSymbolNode === !0 && n.constructor.prototype.isNode === !0 || !1;
}
function l2(n) {
return n && n.constructor.prototype.isChain === !0 || !1;
}
function ns(n) {
var e = typeof n;
return e === "object" ? n === null ? "null" : Xt(n) ? "BigNumber" : n.constructor && n.constructor.name ? n.constructor.name : "Object" : e;
}
function Qe(n) {
var e = typeof n;
if (e === "number" || e === "string" || e === "boolean" || n === null || n === void 0)
return n;
if (typeof n.clone == "function")
return n.clone();
if (Array.isArray(n))
return n.map(function(t) {
return Qe(t);
});
if (n instanceof Date)
return new Date(n.valueOf());
if (Xt(n))
return n;
if (n instanceof RegExp)
throw new TypeError("Cannot clone " + n);
return c2(n, Qe);
}
function c2(n, e) {
var t = {};
for (var r in n)
Hi(n, r) && (t[r] = e(n[r]));
return t;
}
function A1(n, e) {
for (var t in e)
Hi(e, t) && (n[t] = e[t]);
return n;
}
function Qu(n, e) {
var t, r, s;
if (Array.isArray(n)) {
if (!Array.isArray(e) || n.length !== e.length)
return !1;
for (r = 0, s = n.length; r < s; r++)
if (!Qu(n[r], e[r]))
return !1;
return !0;
} else {
if (typeof n == "function")
return n === e;
if (n instanceof Object) {
if (Array.isArray(e) || !(e instanceof Object))
return !1;
for (t in n)
if (!(t in e) || !Qu(n[t], e[t]))
return !1;
for (t in e)
if (!(t in n))
return !1;
return !0;
} else
return n === e;
}
}
function Hi(n, e) {
return n && Object.hasOwnProperty.call(n, e);
}
function h2(n, e) {
for (var t = {}, r = 0; r < e.length; r++) {
var s = e[r], o = n[s];
o !== void 0 && (t[s] = o);
}
return t;
}
var d2 = ["Matrix", "Array"], f2 = ["number", "BigNumber", "Fraction"], Jn = function(e) {
if (e)
throw new Error(`The global config is readonly.
Please create a mathjs instance if you want to change the default configuration.
Example:
import { create, all } from 'mathjs';
const mathjs = create(all);
mathjs.config({ number: 'BigNumber' });
`);
return Object.freeze(I1);
};
Kh(Jn, I1, {
MATRIX_OPTIONS: d2,
NUMBER_OPTIONS: f2
});
function xr(n, e) {
var t = typeof Symbol < "u" && n[Symbol.iterator] || n["@@iterator"];
if (!t) {
if (Array.isArray(n) || (t = p2(n)) || e && n && typeof n.length == "number") {
t && (n = t);
var r = 0, s = function() {
};
return { s, n: function() {
return r >= n.length ? { done: !0 } : { done: !1, value: n[r++] };
}, e: function(l) {
throw l;
}, f: s };
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var o = !0, i = !1, a;
return { s: function() {
t = t.call(n);
}, n: function() {
var l = t.next();
return o = l.done, l;
}, e: function(l) {
i = !0, a = l;
}, f: function() {
try {
!o && t.return != null && t.return();
} finally {
if (i)
throw a;
}
} };
}
function p2(n, e) {
if (n) {
if (typeof n == "string")
return Zm(n, e);
var t = Object.prototype.toString.call(n).slice(8, -1);
if (t === "Object" && n.constructor && (t = n.constructor.name), t === "Map" || t === "Set")
return Array.from(n);
if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))
return Zm(n, e);
}
}
function Zm(n, e) {
(e == null || e > n.length) && (e = n.length);
for (var t = 0, r = new Array(e); t < e; t++)
r[t] = n[t];
return r;
}
function Wo(n) {
return Wo = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
}, Wo(n);
}
function Jm() {
return !0;
}
function rr() {
return !1;
}
function Mo() {
}
var Qm = "Argument is not a typed-function.";
function T1() {
function n(F) {
return Wo(F) === "object" && F !== null && F.constructor === Object;
}
var e = [{
name: "number",
test: function(B) {
return typeof B == "number";
}
}, {
name: "string",
test: function(B) {
return typeof B == "string";
}
}, {
name: "boolean",
test: function(B) {
return typeof B == "boolean";
}
}, {
name: "Function",
test: function(B) {
return typeof B == "function";
}
}, {
name: "Array",
test: Array.isArray
}, {
name: "Date",
test: function(B) {
return B instanceof Date;
}
}, {
name: "RegExp",
test: function(B) {
return B instanceof RegExp;
}
}, {
name: "Object",
test: n
}, {
name: "null",
test: function(B) {
return B === null;
}
}, {
name: "undefined",
test: function(B) {
return B === void 0;
}
}], t = {
name: "any",
test: Jm,
isAny: !0
}, r, s, o = 0, i = {
createCount: 0
};
function a(F) {
var B = r.get(F);
if (B)
return B;
var q = 'Unknown type "' + F + '"', Q = F.toLowerCase(), oe, ae = xr(s), he;
try {
for (ae.s(); !(he = ae.n()).done; )
if (oe = he.value, oe.toLowerCase() === Q) {
q += '. Did you mean "' + oe + '" ?';
break;
}
} catch (te) {
ae.e(te);
} finally {
ae.f();
}
throw new TypeError(q);
}
function u(F) {
for (var B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "any", q = B ? a(B).index : s.length, Q = [], oe = 0; oe < F.length; ++oe) {
if (!F[oe] || typeof F[oe].name != "string" || typeof F[oe].test != "function")
throw new TypeError("Object with properties {name: string, test: function} expected");
var ae = F[oe].name;
if (r.has(ae))
throw new TypeError('Duplicate type name "' + ae + '"');
Q.push(ae), r.set(ae, {
name: ae,
test: F[oe].test,
isAny: F[oe].isAny,
index: q + oe,
conversionsTo: []
// Newly added type can't have any conversions to it
});
}
var he = s.slice(q);
s = s.slice(0, q).concat(Q).concat(he);
for (var te = q + Q.length; te < s.length; ++te)
r.get(s[te]).index = te;
}
function l() {
r = /* @__PURE__ */ new Map(), s = [], o = 0, u([t], !1);
}
l(), u(e);
function c() {
var F, B = xr(s), q;
try {
for (B.s(); !(q = B.n()).done; )
F = q.value, r.get(F).conversionsTo = [];
} catch (Q) {
B.e(Q);
} finally {
B.f();
}
o = 0;
}
function h(F) {
var B = s.filter(function(q) {
var Q = r.get(q);
return !Q.isAny && Q.test(F);
});
return B.length ? B : ["any"];
}
function d(F) {
return F && typeof F == "function" && "_typedFunctionData" in F;
}
function f(F, B, q) {
if (!d(F))
throw new TypeError(Qm);
var Q = q && q.exact, oe = Array.isArray(B) ? B.join(",") : B, ae = y(oe), he = g(ae);
if (!Q || he in F.signatures) {
var te = F._typedFunctionData.signatureMap.get(he);
if (te)
return te;
}
var le = ae.length, ke;
if (Q) {
ke = [];
var ze;
for (ze in F.signatures)
ke.push(F._typedFunctionData.signatureMap.get(ze));
} else
ke = F._typedFunctionData.signatures;
for (var ge = 0; ge < le; ++ge) {
var on = ae[ge], an = [], gn = void 0, Ut = xr(ke), Rn;
try {
for (Ut.s(); !(Rn = Ut.n()).done; ) {
gn = Rn.value;
var Jt = D(gn.params, ge);
if (!(!Jt || on.restParam && !Jt.restParam)) {
if (!Jt.hasAny) {
var nr = function() {
var _n = b(Jt);
if (on.types.some(function(Us) {
return !_n.has(Us.name);
}))
return "continue";
}();
if (nr === "continue")
continue;
}
an.push(gn);
}
}
} catch (_n) {
Ut.e(_n);
} finally {
Ut.f();
}
if (ke = an, ke.length === 0)
break;
}
var In, Sn = xr(ke), Ws;
try {
for (Sn.s(); !(Ws = Sn.n()).done; )
if (In = Ws.value, In.params.length <= le)
return In;
} catch (_n) {
Sn.e(_n);
} finally {
Sn.f();
}
throw new TypeError("Signature not found (signature: " + (F.name || "unnamed") + "(" + g(ae, ", ") + "))");
}
function p(F, B, q) {
return f(F, B, q).implementation;
}
function m(F, B) {
var q = a(B);
if (q.test(F))
return F;
var Q = q.conversionsTo;
if (Q.length === 0)
throw new Error("There are no conversions to " + B + " defined.");
for (var oe = 0; oe < Q.length; oe++) {
var ae = a(Q[oe].from);
if (ae.test(F))
return Q[oe].convert(F);
}
throw new Error("Cannot convert " + F + " to " + B);
}
function g(F) {
var B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ",";
return F.map(function(q) {
return q.name;
}).join(B);
}
function x(F) {
var B = F.indexOf("...") === 0, q = B ? F.length > 3 ? F.slice(3) : "any" : F, Q = q.split("|").map(function(te) {
return a(te.trim());
}), oe = !1, ae = B ? "..." : "", he = Q.map(function(te) {
return oe = te.isAny || oe, ae += te.name + "|", {
name: te.name,
typeIndex: te.index,
test: te.test,
isAny: te.isAny,
conversion: null,
conversionIndex: -1
};
});
return {
types: he,
name: ae.slice(0, -1),
// remove trailing '|' from above
hasAny: oe,
hasConversion: !1,
restParam: B
};
}
function v(F) {
var B = F.types.map(function(he) {
return he.name;
}), q = V(B), Q = F.hasAny, oe = F.name, ae = q.map(function(he) {
var te = a(he.from);
return Q = te.isAny || Q, oe += "|" + he.from, {
name: he.from,
typeIndex: te.index,
test: te.test,
isAny: te.isAny,
conversion: he,
conversionIndex: he.index
};
});
return {
types: F.types.concat(ae),
name: oe,
hasAny: Q,
hasConversion: ae.length > 0,
restParam: F.restParam
};
}
function b(F) {
return F.typeSet || (F.typeSet = /* @__PURE__ */ new Set(), F.types.forEach(function(B) {
return F.typeSet.add(B.name);
})), F.typeSet;
}
function y(F) {
var B = [];
if (typeof F != "string")
throw new TypeError("Signatures must be strings");
var q = F.trim();
if (q === "")
return B;
for (var Q = q.split(","), oe = 0; oe < Q.length; ++oe) {
var ae = x(Q[oe].trim());
if (ae.restParam && oe !== Q.length - 1)
throw new SyntaxError('Unexpected rest parameter "' + Q[oe] + '": only allowed for the last parameter');
if (ae.types.length === 0)
return null;
B.push(ae);
}
return B;
}
function w(F) {
var B = fe(F);
return B ? B.restParam : !1;
}
function C(F) {
if (!F || F.types.length === 0)
return Jm;
if (F.types.length === 1)
return a(F.types[0].name).test;
if (F.types.length === 2) {
var B = a(F.types[0].name).test, q = a(F.types[1].name).test;
return function(ae) {
return B(ae) || q(ae);
};
} else {
var Q = F.types.map(function(oe) {
return a(oe.name).test;
});
return function(ae) {
for (var he = 0; he < Q.length; he++)
if (Q[he](ae))
return !0;
return !1;
};
}
}
function $(F) {
var B, q, Q;
if (w(F)) {
B = Ce(F).map(C);
var oe = B.length, ae = C(fe(F)), he = function(le) {
for (var ke = oe; ke < le.length; ke++)
if (!ae(le[ke]))
return !1;
return !0;
};
return function(le) {
for (var ke = 0; ke < B.length; ke++)
if (!B[ke](le[ke]))
return !1;
return he(le) && le.length >= oe + 1;
};
} else
return F.length === 0 ? function(le) {
return le.length === 0;
} : F.length === 1 ? (q = C(F[0]), function(le) {
return q(le[0]) && le.length === 1;
}) : F.length === 2 ? (q = C(F[0]), Q = C(F[1]), function(le) {
return q(le[0]) && Q(le[1]) && le.length === 2;
}) : (B = F.map(C), function(le) {
for (var ke = 0; ke < B.length; ke++)
if (!B[ke](le[ke]))
return !1;
return le.length === B.length;
});
}
function D(F, B) {
return B < F.length ? F[B] : w(F) ? fe(F) : null;
}
function I(F, B) {
var q = D(F, B);
return q ? b(q) : /* @__PURE__ */ new Set();
}
function S(F) {
return F.conversion === null || F.conversion === void 0;
}
function N(F, B) {
var q = /* @__PURE__ */ new Set();
return F.forEach(function(Q) {
var oe = I(Q.params, B), ae, he = xr(oe), te;
try {
for (he.s(); !(te = he.n()).done; )
ae = te.value, q.add(ae);
} catch (le) {
he.e(le);
} finally {
he.f();
}
}), q.has("any") ? ["any"] : Array.from(q);
}
function A(F, B, q) {
var Q, oe, ae = F || "unnamed", he = q, te, le = function() {
var Ut = [];
if (he.forEach(function(Jt) {
var nr = D(Jt.params, te), In = C(nr);
(te < Jt.params.length || w(Jt.params)) && In(B[te]) && Ut.push(Jt);
}), Ut.length === 0) {
if (oe = N(he, te), oe.length > 0) {
var Rn = h(B[te]);
return Q = new TypeError("Unexpected type of argument in function " + ae + " (expected: " + oe.join(" or ") + ", actual: " + Rn.join(" | ") + ", index: " + te + ")"), Q.data = {
category: "wrongType",
fn: ae,
index: te,
actual: Rn,
expected: oe
}, {
v: Q
};
}
} else
he = Ut;
};
for (te = 0; te < B.length; te++) {
var ke = le();
if (Wo(ke) === "object")
return ke.v;
}
var ze = he.map(function(gn) {
return w(gn.params) ? 1 / 0 : gn.params.length;
});
if (B.length < Math.min.apply(null, ze))
return oe = N(he, te), Q = new TypeError("Too few arguments in function " + ae + " (expected: " + oe.join(" or ") + ", index: " + B.length + ")"), Q.data = {
category: "tooFewArgs",
fn: ae,
index: B.length,
expected: oe
}, Q;
var ge = Math.max.apply(null, ze);
if (B.length > ge)
return Q = new TypeError("Too many arguments in function " + ae + " (expected: " + ge + ", actual: " + B.length + ")"), Q.data = {
category: "tooManyArgs",
fn: ae,
index: B.length,
expectedLength: ge
}, Q;
for (var on = [], an = 0; an < B.length; ++an)
on.push(h(B[an]).join("|"));
return Q = new TypeError('Arguments of type "' + on.join(", ") + '" do not match any of the defined signatures of function ' + ae + "."), Q.data = {
category: "mismatch",
actual: on
}, Q;
}
function M(F) {
for (var B = s.length + 1, q = 0; q < F.types.length; q++)
S(F.types[q]) && (B = Math.min(B, F.types[q].typeIndex));
return B;
}
function T(F) {
for (var B = o + 1, q = 0; q < F.types.length; q++)
S(F.types[q]) || (B = Math.min(B, F.types[q].conversionIndex));
return B;
}
function _(F, B) {
if (F.hasAny) {
if (!B.hasAny)
return 1;
} else if (B.hasAny)
return -1;
if (F.restParam) {
if (!B.restParam)
return 1;
} else if (B.restParam)
return -1;
if (F.hasConversion) {
if (!B.hasConversion)
return 1;
} else if (B.hasConversion)
return -1;
var q = M(F) - M(B);
if (q < 0)
return -1;
if (q > 0)
return 1;
var Q = T(F) - T(B);
return Q < 0 ? -1 : Q > 0 ? 1 : 0;
}
function k(F, B) {
var q = F.params, Q = B.params, oe = fe(q), ae = fe(Q), he = w(q), te = w(Q);
if (he && oe.hasAny) {
if (!te || !ae.hasAny)
return 1;
} else if (te && ae.hasAny)
return -1;
var le = 0, ke = 0, ze, ge = xr(q), on;
try {
for (ge.s(); !(on = ge.n()).done; )
ze = on.value, ze.hasAny && ++le, ze.hasConversion && ++ke;
} catch (Ai) {
ge.e(Ai);
} finally {
ge.f();
}
var an = 0, gn = 0, Ut = xr(Q), Rn;
try {
for (Ut.s(); !(Rn = Ut.n()).done; )
ze = Rn.value, ze.hasAny && ++an, ze.hasConversion && ++gn;
} catch (Ai) {
Ut.e(Ai);
} finally {
Ut.f();
}
if (le !== an)
return le - an;
if (he && oe.hasConversion) {
if (!te || !ae.hasConversion)
return 1;
} else if (te && ae.hasConversion)
return -1;
if (ke !== gn)
return ke - gn;
if (he) {
if (!te)
return 1;
} else if (te)
return -1;
var Jt = (q.length - Q.length) * (he ? -1 : 1);
if (Jt !== 0)
return Jt;
for (var nr = [], In = 0, Sn = 0; Sn < q.length; ++Sn) {
var Ws = _(q[Sn], Q[Sn]);
nr.push(Ws), In += Ws;
}
if (In !== 0)
return In;
for (var _n, Us = 0, Ru = nr; Us < Ru.length; Us++)
if (_n = Ru[Us], _n !== 0)
return _n;
return 0;
}
function V(F) {
if (F.length === 0)
return [];
var B = F.map(a);
F.length > 1 && B.sort(function(le, ke) {
return le.index - ke.index;
});
var q = B[0].conversionsTo;
if (F.length === 1)
return q;
q = q.concat([]);
for (var Q = new Set(F), oe = 1; oe < B.length; ++oe) {
var ae = void 0, he = xr(B[oe].conversionsTo), te;
try {
for (he.s(); !(te = he.n()).done; )
ae = te.value, Q.has(ae.from) || (q.push(ae), Q.add(ae.from));
} catch (le) {
he.e(le);
} finally {
he.f();
}
}
return q;
}
function O(F, B) {
var q = B;
if (F.some(function(te) {
return te.hasConversion;
})) {
var Q = w(F), oe = F.map(W);
q = function() {
for (var le = [], ke = Q ? arguments.length - 1 : arguments.length, ze = 0; ze < ke; ze++)
le[ze] = oe[ze](arguments[ze]);
return Q && (le[ke] = arguments[ke].map(oe[ke])), B.apply(this, le);
};
}
var ae = q;
if (w(F)) {
var he = F.length - 1;
ae = function() {
return q.apply(this, ye(arguments, 0, he).concat([ye(arguments, he)]));
};
}
return ae;
}
function W(F) {
var B, q, Q, oe, ae = [], he = [];
switch (F.types.forEach(function(te) {
te.conversion && (ae.push(a(te.conversion.from).test), he.push(te.conversion.convert));
}), he.length) {
case 0:
return function(le) {
return le;
};
case 1:
return B = ae[0], Q = he[0], function(le) {
return B(le) ? Q(le) : le;
};
case 2:
return B = ae[0], q = ae[1], Q = he[0], oe = he[1], function(le) {
return B(le) ? Q(le) : q(le) ? oe(le) : le;
};
default:
return function(le) {
for (var ke = 0; ke < he.length; ke++)
if (ae[ke](le))
return he[ke](le);
return le;
};
}
}
function X(F) {
function B(q, Q, oe) {
if (Q < q.length) {
var ae = q[Q], he = [];
if (ae.restParam) {
var te = ae.types.filter(S);
te.length < ae.types.length && he.push({
types: te,
name: "..." + te.map(function(le) {
return le.name;
}).join("|"),
hasAny: te.some(function(le) {
return le.isAny;
}),
hasConversion: !1,
restParam: !0
}), he.push(ae);
} else
he = ae.types.map(function(le) {
return {
types: [le],
name: le.name,
hasAny: le.isAny,
hasConversion: le.conversion,
restParam: !1
};
});
return Me(he, function(le) {
return B(q, Q + 1, oe.concat([le]));
});
} else
return [oe];
}
return B(F, 0, []);
}
function Z(F, B) {
for (var q = Math.max(F.length, B.length), Q = 0; Q < q; Q++) {
var oe = I(F, Q), ae = I(B, Q), he = !1, te = void 0, le = xr(ae), ke;
try {
for (le.s(); !(ke = le.n()).done; )
if (te = ke.value, oe.has(te)) {
he = !0;
break;
}
} catch (gn) {
le.e(gn);
} finally {
le.f();
}
if (!he)
return !1;
}
var ze = F.length, ge = B.length, on = w(F), an = w(B);
return on ? an ? ze === ge : ge >= ze : an ? ze >= ge : ze === ge;
}
function ee(F) {
return F.map(function(B) {
return Je(B) ? We(B.referToSelf.callback) : He(B) ? Ve(B.referTo.references, B.referTo.callback) : B;
});
}
function J(F, B, q) {
var Q = [], oe, ae = xr(F), he;
try {
for (ae.s(); !(he = ae.n()).done; ) {
oe = he.value;
var te = q[oe];
if (typeof te != "number")
throw new TypeError('No definition for referenced signature "' + oe + '"');
if (te = B[te], typeof te != "function")
return !1;
Q.push(te);
}
} catch (le) {
ae.e(le);
} finally {
ae.f();
}
return Q;
}
function ie(F, B, q) {
for (var Q = ee(F), oe = new Array(Q.length).fill(!1), ae = !0; ae; ) {
ae = !1;
for (var he = !0, te = 0; te < Q.length; ++te)
if (!oe[te]) {
var le = Q[te];
if (Je(le))
Q[te] = le.referToSelf.callback(q), Q[te].referToSelf = le.referToSelf, oe[te] = !0, he = !1;
else if (He(le)) {
var ke = J(le.referTo.references, Q, B);
ke ? (Q[te] = le.referTo.callback.apply(this, ke), Q[te].referTo = le.referTo, oe[te] = !0, he = !1) : ae = !0;
}
}
if (he && ae)
throw new SyntaxError("Circular reference detected in resolving typed.referTo");
}
return Q;
}
function ne(F) {
var B = /\bthis(\(|\.signatures\b)/;
Object.keys(F).forEach(function(q) {
var Q = F[q];
if (B.test(Q.toString()))
throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.");
});
}
function ce(F, B) {
if (i.createCount++, Object.keys(B).length === 0)
throw new SyntaxError("No signatures provided");
i.warnAgainstDeprecatedThis && ne(B);
var q = [], Q = [], oe = {}, ae = [], he, te = function() {
if (!Object.prototype.hasOwnProperty.call(B, he))
return "continue";
var un = y(he);
if (!un)
return "continue";
q.forEach(function(_o) {
if (Z(_o, un))
throw new TypeError('Conflicting signatures "' + g(_o) + '" and "' + g(un) + '".');
}), q.push(un);
var Hm = Q.length;
Q.push(B[he]);
var E$ = un.map(v), _u = void 0, Mu = xr(X(E$)), qm;
try {
for (Mu.s(); !(qm = Mu.n()).done; ) {
_u = qm.value;
var Km = g(_u);
ae.push({
params: _u,
name: Km,
fn: Hm
}), _u.every(function(_o) {
return !_o.hasConversion;
}) && (oe[Km] = Hm);
}
} catch (_o) {
Mu.e(_o);
} finally {
Mu.f();
}
};
for (he in B)
var le = te();
ae.sort(k);
var ke = ie(Q, oe, Fi), ze;
for (ze in oe)
Object.prototype.hasOwnProperty.call(oe, ze) && (oe[ze] = ke[oe[ze]]);
for (var ge = [], on = /* @__PURE__ */ new Map(), an = 0, gn = ae; an < gn.length; an++)
ze = gn[an], on.has(ze.name) || (ze.fn = ke[ze.fn], ge.push(ze), on.set(ze.name, ze));
for (var Ut = ge[0] && ge[0].params.length <= 2 && !w(ge[0].params), Rn = ge[1] && ge[1].params.length <= 2 && !w(ge[1].params), Jt = ge[2] && ge[2].params.length <= 2 && !w(ge[2].params), nr = ge[3] && ge[3].params.length <= 2 && !w(ge[3].params), In = ge[4] && ge[4].params.length <= 2 && !w(ge[4].params), Sn = ge[5] && ge[5].params.length <= 2 && !w(ge[5].params), Ws = Ut && Rn && Jt && nr && In && Sn, _n = 0; _n < ge.length; ++_n)
ge[_n].test = $(ge[_n].params);
for (var Us = Ut ? C(ge[0].params[0]) : rr, Ru = Rn ? C(ge[1].params[0]) : rr, Ai = Jt ? C(ge[2].params[0]) : rr, t$ = nr ? C(ge[3].params[0]) : rr, n$ = In ? C(ge[4].params[0]) : rr, r$ = Sn ? C(ge[5].params[0]) : rr, s$ = Ut ? C(ge[0].params[1]) : rr, o$ = Rn ? C(ge[1].params[1]) : rr, i$ = Jt ? C(ge[2].params[1]) : rr, a$ = nr ? C(ge[3].params[1]) : rr, u$ = In ? C(ge[4].params[1]) : rr, l$ = Sn ? C(ge[5].params[1]) : rr, Ti = 0; Ti < ge.length; ++Ti)
ge[Ti].implementation = O(ge[Ti].params, ge[Ti].fn);
var c$ = Ut ? ge[0].implementation : Mo, h$ = Rn ? ge[1].implementation : Mo, d$ = Jt ? ge[2].implementation : Mo, f$ = nr ? ge[3].implementation : Mo, p$ = In ? ge[4].implementation : Mo, m$ = Sn ? ge[5].implementation : Mo, g$ = Ut ? ge[0].params.length : -1, x$ = Rn ? ge[1].params.length : -1, v$ = Jt ? ge[2].params.length : -1, b$ = nr ? ge[3].params.length : -1, y$ = In ? ge[4].params.length : -1, w$ = Sn ? ge[5].params.length : -1, C$ = Ws ? 6 : 0, D$ = ge.length, $$ = ge.map(function(Hn) {
return Hn.test;
}), I$ = ge.map(function(Hn) {
return Hn.implementation;
}), S$ = function() {
for (var un = C$; un < D$; un++)
if ($$[un](arguments))
return I$[un].apply(this, arguments);
return i.onMismatch(F, arguments, ge);
};
function Fi(Hn, un) {
return arguments.length === g$ && Us(Hn) && s$(un) ? c$.apply(this, arguments) : arguments.length === x$ && Ru(Hn) && o$(un) ? h$.apply(this, arguments) : arguments.length === v$ && Ai(Hn) && i$(un) ? d$.apply(this, arguments) : arguments.length === b$ && t$(Hn) && a$(un) ? f$.apply(this, arguments) : arguments.length === y$ && n$(Hn) && u$(un) ? p$.apply(this, arguments) : arguments.length === w$ && r$(Hn) && l$(un) ? m$.apply(this, arguments) : S$.apply(this, arguments);
}
try {
Object.defineProperty(Fi, "name", {
value: F
});
} catch {
}
return Fi.signatures = oe, Fi._typedFunctionData = {
signatures: ge,
signatureMap: on
}, Fi;
}
function de(F, B, q) {
throw A(F, B, q);
}
function Ce(F) {
return ye(F, 0, F.length - 1);
}
function fe(F) {
return F[F.length - 1];
}
function ye(F, B, q) {
return Array.prototype.slice.call(F, B, q);
}
function Ae(F, B) {
for (var q = 0; q < F.length; q++)
if (B(F[q]))
return F[q];
}
function Me(F, B) {
return Array.prototype.concat.apply([], F.map(B));
}
function Ne() {
var F = Ce(arguments).map(function(q) {
return g(y(q));
}), B = fe(arguments);
if (typeof B != "function")
throw new TypeError("Callback function expected as last argument");
return Ve(F, B);
}
function Ve(F, B) {
return {
referTo: {
references: F,
callback: B
}
};
}
function We(F) {
if (typeof F != "function")
throw new TypeError("Callback function expected as first argument");
return {
referToSelf: {
callback: F
}
};
}
function He(F) {
return F && Wo(F.referTo) === "object" && Array.isArray(F.referTo.references) && typeof F.referTo.callback == "function";
}
function Je(F) {
return F && Wo(F.referToSelf) === "object" && typeof F.referToSelf.callback == "function";
}
function tt(F, B) {
if (!F)
return B;
if (B && B !== F) {
var q = new Error("Function names do not match (expected: " + F + ", actual: " + B + ")");
throw q.data = {
actual: B,
expected: F
}, q;
}
return F;
}
function pn(F) {
var B;
for (var q in F)
Object.prototype.hasOwnProperty.call(F, q) && (d(F[q]) || typeof F[q].signature == "string") && (B = tt(B, F[q].name));
return B;
}
function Et(F, B) {
var q;
for (q in B)
if (Object.prototype.hasOwnProperty.call(B, q)) {
if (q in F && B[q] !== F[q]) {
var Q = new Error('Signature "' + q + '" is defined twice');
throw Q.data = {
signature: q,
sourceFunction: B[q],
destFunction: F[q]
}, Q;
}
F[q] = B[q];
}
}
var Mr = i;
i = function(B) {
for (var q = typeof B == "string", Q = q ? 1 : 0, oe = q ? B : "", ae = {}, he = Q; he < arguments.length; ++he) {
var te = arguments[he], le = {}, ke = void 0;
if (typeof te == "function" ? (ke = te.name, typeof te.signature == "string" ? le[te.signature] = te : d(te) && (le = te.signatures)) : n(te) && (le = te, q || (ke = pn(te))), Object.keys(le).length === 0) {
var ze = new TypeError("Argument to 'typed' at index " + he + " is not a (typed) function, nor an object with signatures as keys and functions as values.");
throw ze.data = {
index: he,
argument: te
}, ze;
}
q || (oe = tt(oe, ke)), Et(ae, le);
}
return ce(oe || "", ae);
}, i.create = T1, i.createCount = Mr.createCount, i.onMismatch = de, i.throwMismatchError = de, i.createError = A, i.clear = l, i.clearConversions = c, i.addTypes = u, i._findType = a, i.referTo = Ne, i.referToSelf = We, i.convert = m, i.findSignature = f, i.find = p, i.isTypedFunction = d, i.warnAgainstDeprecatedThis = !0, i.addType = function(F, B) {
var q = "any";
B !== !1 && r.has("Object") && (q = "Object"), i.addTypes([F], q);
};
function mn(F) {
if (!F || typeof F.from != "string" || typeof F.to != "string" || typeof F.convert != "function")
throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");
if (F.to === F.from)
throw new SyntaxError('Illegal to define conversion from "' + F.from + '" to itself.');
}
return i.addConversion = function(F) {
mn(F);
var B = a(F.to);
if (B.conversionsTo.every(function(q) {
return q.from !== F.from;
}))
B.conversionsTo.push({
from: F.from,
convert: F.convert,
index: o++
});
else
throw new Error('There is already a conversion from "' + F.from + '" to "' + B.name + '"');
}, i.addConversions = function(F) {
F.forEach(i.addConversion);
}, i.removeConversion = function(F) {
mn(F);
var B = a(F.to), q = Ae(B.conversionsTo, function(oe) {
return oe.from === F.from;
});
if (!q)
throw new Error("Attempt to remove nonexistent conversion from " + F.from + " to " + F.to);
if (q.convert !== F.convert)
throw new Error("Conversion to remove does not match existing conversion");
var Q = B.conversionsTo.indexOf(q);
B.conversionsTo.splice(Q, 1);
}, i.resolve = function(F, B) {
if (!d(F))
throw new TypeError(Qm);
for (var q = F._typedFunctionData.signatures, Q = 0; Q < q.length; ++Q)
if (q[Q].test(B))
return q[Q];
return null;
}, i;
}
const eg = T1();
function Dt(n) {
return typeof n == "boolean" ? !0 : isFinite(n) ? n === Math.round(n) : !1;
}
function Ih(n, e, t) {
var r = {
2: "0b",
8: "0o",
16: "0x"
}, s = r[e], o = "";
if (t) {
if (t < 1)
throw new Error("size must be in greater than 0");
if (!Dt(t))
throw new Error("size must be an integer");
if (n > 2 ** (t - 1) - 1 || n < -(2 ** (t - 1)))
throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]"));
if (!Dt(n))
throw new Error("Value must be an integer");
n < 0 && (n = n + 2 ** t), o = "i".concat(t);
}
var i = "";
return n < 0 && (n = -n, i = "-"), "".concat(i).concat(s).concat(n.toString(e)).concat(o);
}
function Xh(n, e) {
if (typeof e == "function")
return e(n);
if (n === 1 / 0)
return "Infinity";
if (n === -1 / 0)
return "-Infinity";
if (isNaN(n))
return "NaN";
var t = "auto", r, s;
if (e && (e.notation && (t = e.notation), Nt(e) ? r = e : Nt(e.precision) && (r = e.precision), e.wordSize && (s = e.wordSize, typeof s != "number")))
throw new Error('Option "wordSize" must be a number');
switch (t) {
case "fixed":
return g2(n, r);
case "exponential":
return F1(n, r);
case "engineering":
return m2(n, r);
case "bin":
return Ih(n, 2, s);
case "oct":
return Ih(n, 8, s);
case "hex":
return Ih(n, 16, s);
case "auto":
return x2(n, r, e && e).replace(/((\.\d*?)(0+))($|e)/, function() {
var o = arguments[2], i = arguments[4];
return o !== "." ? o + i : i;
});
default:
throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.');
}
}
function Vl(n) {
var e = String(n).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);
if (!e)
throw new SyntaxError("Invalid number " + n);
var t = e[1], r = e[2], s = parseFloat(e[4] || "0"), o = r.indexOf(".");
s += o !== -1 ? o - 1 : r.length - 1;
var i = r.replace(".", "").replace(/^0*/, function(a) {
return s -= a.length, "";
}).replace(/0*$/, "").split("").map(function(a) {
return parseInt(a);
});
return i.length === 0 && (i.push(0), s++), {
sign: t,
coefficients: i,
exponent: s
};
}
function m2(n, e) {
if (isNaN(n) || !isFinite(n))
return String(n);
var t = Vl(n), r = Wl(t, e), s = r.exponent, o = r.coefficients, i = s % 3 === 0 ? s : s < 0 ? s - 3 - s % 3 : s - s % 3;
if (Nt(e))
for (; e > o.length || s - i + 1 > o.length; )
o.push(0);
else
for (var a = Math.abs(s - i) - (o.length - 1), u = 0; u < a; u++)
o.push(0);
for (var l = Math.abs(s - i), c = 1; l > 0; )
c++, l--;
var h = o.slice(c).join(""), d = Nt(e) && h.length || h.match(/[1-9]/) ? "." + h : "", f = o.slice(0, c).join("") + d + "e" + (s >= 0 ? "+" : "") + i.toString();
return r.sign + f;
}
function g2(n, e) {
if (isNaN(n) || !isFinite(n))
return String(n);
var t = Vl(n), r = typeof e == "number" ? Wl(t, t.exponent + 1 + e) : t, s = r.coefficients, o = r.exponent + 1, i = o + (e || 0);
return s.length < i && (s = s.concat(qo(i - s.length))), o < 0 && (s = qo(-o + 1).concat(s), o = 1), o < s.length && s.splice(o, 0, o === 0 ? "0." : "."), r.sign + s.join("");
}
function F1(n, e) {
if (isNaN(n) || !isFinite(n))
return String(n);
var t = Vl(n), r = e ? Wl(t, e) : t, s = r.coefficients, o = r.exponent;
s.length < e && (s = s.concat(qo(e - s.length)));
var i = s.shift();
return r.sign + i + (s.length > 0 ? "." + s.join("") : "") + "e" + (o >= 0 ? "+" : "") + o;
}
function x2(n, e, t) {
if (isNaN(n) || !isFinite(n))
return String(n);
var r = t && t.lowerExp !== void 0 ? t.lowerExp : -3, s = t && t.upperExp !== void 0 ? t.upperExp : 5, o = Vl(n), i = e ? Wl(o, e) : o;
if (i.exponent < r || i.exponent >= s)
return F1(n, e);
var a = i.coefficients, u = i.exponent;
a.length < e && (a = a.concat(qo(e - a.length))), a = a.concat(qo(u - a.length + 1 + (a.length < e ? e - a.length : 0))), a = qo(-u).concat(a);
var l = u > 0 ? u : 0;
return l < a.length - 1 && a.splice(l + 1, 0, "."), i.sign + a.join("");
}
function Wl(n, e) {
for (var t = {
sign: n.sign,
coefficients: n.coefficients,
exponent: n.exponent
}, r = t.coefficients; e <= 0; )
r.unshift(0), t.exponent++, e++;
if (r.length > e) {
var s = r.splice(e, r.length - e);
if (s[0] >= 5) {
var o = e - 1;
for (r[o]++; r[o] === 10; )
r.pop(), o === 0 && (r.unshift(0), t.exponent++, o++), o--, r[o]++;
}
}
return t;
}
function qo(n) {
for (var e = [], t = 0; t < n; t++)
e.push(0);
return e;
}
function v2(n) {
return n.toExponential().replace(/e.*$/, "").replace(/^0\.?0*|\./, "").length;
}
var b2 = Number.EPSILON || 2220446049250313e-31;
function Cs(n, e, t) {
if (t == null)
return n === e;
if (n === e)
return !0;
if (isNaN(n) || isNaN(e))
return !1;
if (isFinite(n) && isFinite(e)) {
var r = Math.abs(n - e);
return r < b2 ? !0 : r <= Math.max(Math.abs(n), Math.abs(e)) * t;
}
return !1;
}
function Sh(n, e, t) {
var r = n.constructor, s = new r(2), o = "";
if (t) {
if (t < 1)
throw new Error("size must be in greater than 0");
if (!Dt(t))
throw new Error("size must be an integer");
if (n.greaterThan(s.pow(t - 1).sub(1)) || n.lessThan(s.pow(t - 1).mul(-1)))
throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]"));
if (!n.isInteger())
throw new Error("Value must be an integer");
n.lessThan(0) && (n = n.add(s.pow(t))), o = "i".concat(t);
}
switch (e) {
case 2:
return "".concat(n.toBinary()).concat(o);
case 8:
return "".concat(n.toOctal()).concat(o);
case 16:
return "".concat(n.toHexadecimal()).concat(o);
default:
throw new Error("Base ".concat(e, " not supported "));
}
}
function y2(n, e) {
if (typeof e == "function")
return e(n);
if (!n.isFinite())
return n.isNaN() ? "NaN" : n.gt(0) ? "Infinity" : "-Infinity";
var t = "auto", r, s;
if (e !== void 0 && (e.notation && (t = e.notation), typeof e == "number" ? r = e : e.precision && (r = e.precision), e.wordSize && (s = e.wordSize, typeof s != "number")))
throw new Error('Option "wordSize" must be a number');
switch (t) {
case "fixed":
return C2(n, r);
case "exponential":
return tg(n, r);
case "engineering":
return w2(n, r);
case "bin":
return Sh(n, 2, s);
case "oct":
return Sh(n, 8, s);
case "hex":
return Sh(n, 16, s);
case "auto": {
var o = e && e.lowerExp !== void 0 ? e.lowerExp : -3, i = e && e.upperExp !== void 0 ? e.upperExp : 5;
if (n.isZero())
return "0";
var a, u = n.toSignificantDigits(r), l = u.e;
return l >= o && l < i ? a = u.toFixed() : a = tg(n, r), a.replace(/((\.\d*?)(0+))($|e)/, function() {
var c = arguments[2], h = arguments[4];
return c !== "." ? c + h : h;
});
}
default:
throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.');
}
}
function w2(n, e) {
var t = n.e, r = t % 3 === 0 ? t : t < 0 ? t - 3 - t % 3 : t - t % 3, s = n.mul(Math.pow(10, -r)), o = s.toPrecision(e);
return o.indexOf("e") !== -1 && (o = s.toString()), o + "e" + (t >= 0 ? "+" : "") + r.toString();
}
function tg(n, e) {
return e !== void 0 ? n.toExponential(e - 1) : n.toExponential();
}
function C2(n, e) {
return n.toFixed(e);
}
function St(n, e) {
var t = D2(n, e);
return e && typeof e == "object" && "truncate" in e && t.length > e.truncate ? t.substring(0, e.truncate - 3) + "..." : t;
}
function D2(n, e) {
if (typeof n == "number")
return Xh(n, e);
if (Xt(n))
return y2(n, e);
if ($2(n))
return !e || e.fraction !== "decimal" ? n.s * n.n + "/" + n.d : n.toString();
if (Array.isArray(n))
return R1(n, e);
if (yr(n))
return '"' + n + '"';
if (typeof n == "function")
return n.syntax ? String(n.syntax) : "function";
if (n && typeof n == "object") {
if (typeof n.format == "function")
return n.format(e);
if (n && n.toString(e) !== {}.toString())
return n.toString(e);
var t = Object.keys(n).map((r) => '"' + r + '": ' + St(n[r], e));
return "{" + t.join(", ") + "}";
}
return String(n);
}
function R1(n, e) {
if (Array.isArray(n)) {
for (var t = "[", r = n.length, s = 0; s < r; s++)
s !== 0 && (t += ", "), t += R1(n[s], e);
return t += "]", t;
} else
return St(n, e);
}
function $2(n) {
return n && typeof n == "object" && typeof n.s == "number" && typeof n.n == "number" && typeof n.d == "number" || !1;
}
function ot(n, e, t) {
if (!(this instanceof ot))
throw new SyntaxError("Constructor must be called with the new operator");
this.actual = n, this.expected = e, this.relation = t, this.message = "Dimension mismatch (" + (Array.isArray(n) ? "[" + n.join(", ") + "]" : n) + " " + (this.relation || "!=") + " " + (Array.isArray(e) ? "[" + e.join(", ") + "]" : e) + ")", this.stack = new Error().stack;
}
ot.prototype = new RangeError();
ot.prototype.constructor = RangeError;
ot.prototype.name = "DimensionError";
ot.prototype.isDimensionError = !0;
function vo(n, e, t) {
if (!(this instanceof vo))
throw new SyntaxError("Constructor must be called with the new operator");
this.index = n, arguments.length < 3 ? (this.min = 0, this.max = e) : (this.min = e, this.max = t), this.min !== void 0 && this.index < this.min ? this.message = "Index out of range (" + this.index + " < " + this.min + ")" : this.max !== void 0 && this.index >= this.max ? this.message = "Index out of range (" + this.index + " > " + (this.max - 1) + ")" : this.message = "Index out of range (" + this.index + ")", this.stack = new Error().stack;
}
vo.prototype = new RangeError();
vo.prototype.constructor = RangeError;
vo.prototype.name = "IndexError";
vo.prototype.isIndexError = !0;
function Qt(n) {
for (var e = []; Array.isArray(n); )
e.push(n.length), n = n[0];
return e;
}
function _1(n, e, t) {
var r, s = n.length;
if (s !== e[t])
throw new ot(s, e[t]);
if (t < e.length - 1) {
var o = t + 1;
for (r = 0; r < s; r++) {
var i = n[r];
if (!Array.isArray(i))
throw new ot(e.length - 1, e.length, "<");
_1(n[r], e, o);
}
} else
for (r = 0; r < s; r++)
if (Array.isArray(n[r]))
throw new ot(e.length + 1, e.length, ">");
}
function ng(n, e) {
var t = e.length === 0;
if (t) {
if (Array.isArray(n))
throw new ot(n.length, 0);
} else
_1(n, e, 0);
}
function yt(n, e) {
if (!Nt(n) || !Dt(n))
throw new TypeError("Index must be an integer (value: " + n + ")");
if (n < 0 || typeof e == "number" && n >= e)
throw new vo(n, e);
}
function qi(n, e, t) {
if (!Array.isArray(n) || !Array.isArray(e))
throw new TypeError("Array expected");
if (e.length === 0)
throw new Error("Resizing to scalar is not supported");
e.forEach(function(s) {
if (!Nt(s) || !Dt(s) || s < 0)
throw new TypeError("Invalid size, must contain positive integers (size: " + St(e) + ")");
});
var r = t !== void 0 ? t : 0;
return jh(n, e, 0, r), n;
}
function jh(n, e, t, r) {
var s, o, i = n.length, a = e[t], u = Math.min(i, a);
if (n.length = a, t < e.length - 1) {
var l = t + 1;
for (s = 0; s < u; s++)
o = n[s], Array.isArray(o) || (o = [o], n[s] = o), jh(o, e, l, r);
for (s = u; s < a; s++)
o = [], n[s] = o, jh(o, e, l, r);
} else {
for (s = 0; s < u; s++)
for (; Array.isArray(n[s]); )
n[s] = n[s][0];
for (s = u; s < a; s++)
n[s] = r;
}
}
function M1(n, e) {
var t = Yh(n), r = t.length;
if (!Array.isArray(n) || !Array.isArray(e))
throw new TypeError("Array expected");
if (e.length === 0)
throw new ot(0, r, "!=");
e = Jd(e, r);
var s = O1(e);
if (r !== s)
throw new ot(s, r, "!=");
try {
return I2(t, e);
} catch (o) {
throw o instanceof ot ? new ot(s, r, "!=") : o;
}
}
function Jd(n, e) {
var t = O1(n), r = n.slice(), s = -1, o = n.indexOf(s), i = n.indexOf(s, o + 1) >= 0;
if (i)
throw new Error("More than one wildcard in sizes");