package.dist.angle-utils-CGNI01fr.mjs Maven / Gradle / Ivy
import { P as qt, Q as be, R as Nt, S as Pe, U as Gt, V as jt, W as at, X as Zt, Y as We, Z as Xt, _ as Qt, g as ne, p as ke } from "./color-scale-utils-f3PWy_Op.mjs";
import { $ as ye, T as V, o as z } from "./axis-scales-CPuwbFQf.mjs";
var Jt = /\s/;
function Kt(e) {
for (var t = e.length; t-- && Jt.test(e.charAt(t)); )
;
return t;
}
var en = /^\s+/;
function tn(e) {
return e && e.slice(0, Kt(e) + 1).replace(en, "");
}
var $e = NaN, nn = /^[-+]0x[0-9a-f]+$/i, rn = /^0b[01]+$/i, on = /^0o[0-7]+$/i, sn = parseInt;
function Ye(e) {
if (typeof e == "number")
return e;
if (qt(e))
return $e;
if (be(e)) {
var t = typeof e.valueOf == "function" ? e.valueOf() : e;
e = be(t) ? t + "" : t;
}
if (typeof e != "string")
return e === 0 ? e : +e;
e = tn(e);
var n = rn.test(e);
return n || on.test(e) ? sn(e.slice(2), n ? 2 : 8) : nn.test(e) ? $e : +e;
}
var pe = function() {
return Nt.Date.now();
}, an = "Expected a function", un = Math.max, cn = Math.min;
function ln(e, t, n) {
var r, i, o, s, a, c, g = 0, m = !1, d = !1, h = !0;
if (typeof e != "function")
throw new TypeError(an);
t = Ye(t) || 0, be(n) && (m = !!n.leading, d = "maxWait" in n, o = d ? un(Ye(n.maxWait) || 0, t) : o, h = "trailing" in n ? !!n.trailing : h);
function T(f) {
var S = r, W = i;
return r = i = void 0, g = f, s = e.apply(W, S), s;
}
function M(f) {
return g = f, a = setTimeout(P, t), m ? T(f) : s;
}
function E(f) {
var S = f - c, W = f - g, ae = t - S;
return d ? cn(ae, o - W) : ae;
}
function H(f) {
var S = f - c, W = f - g;
return c === void 0 || S >= t || S < 0 || d && W >= o;
}
function P() {
var f = pe();
if (H(f))
return Q(f);
a = setTimeout(P, E(f));
}
function Q(f) {
return a = void 0, h && r ? T(f) : (r = i = void 0, s);
}
function A() {
a !== void 0 && clearTimeout(a), g = 0, r = c = i = a = void 0;
}
function O() {
return a === void 0 ? s : Q(pe());
}
function N() {
var f = pe(), S = H(f);
if (r = arguments, i = this, c = f, S) {
if (a === void 0)
return M(c);
if (d)
return clearTimeout(a), a = setTimeout(P, t), T(c);
}
return a === void 0 && (a = setTimeout(P, t)), s;
}
return N.cancel = A, N.flush = O, N;
}
function fn(e, t, n) {
e = +e, t = +t, n = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +n;
for (var r = -1, i = Math.max(0, Math.ceil((t - e) / n)) | 0, o = new Array(i); ++r < i; )
o[r] = e + r * n;
return o;
}
function D(e) {
return typeof e == "string" ? new Pe([[document.querySelector(e)]], [document.documentElement]) : new Pe([[e]], Gt);
}
function hn() {
var e = jt().unknown(void 0), t = e.domain, n = e.range, r = 0, i = 1, o, s, a = !1, c = 0, g = 0, m = 0.5;
delete e.unknown;
function d() {
var h = t().length, T = i < r, M = T ? i : r, E = T ? r : i;
o = (E - M) / Math.max(1, h - c + g * 2), a && (o = Math.floor(o)), M += (E - M - o * (h - c)) * m, s = o * (1 - c), a && (M = Math.round(M), s = Math.round(s));
var H = fn(h).map(function(P) {
return M + o * P;
});
return n(T ? H.reverse() : H);
}
return e.domain = function(h) {
return arguments.length ? (t(h), d()) : t();
}, e.range = function(h) {
return arguments.length ? ([r, i] = h, r = +r, i = +i, d()) : [r, i];
}, e.rangeRound = function(h) {
return [r, i] = h, r = +r, i = +i, a = !0, d();
}, e.bandwidth = function() {
return s;
}, e.step = function() {
return o;
}, e.round = function(h) {
return arguments.length ? (a = !!h, d()) : a;
}, e.padding = function(h) {
return arguments.length ? (c = Math.min(1, g = +h), d()) : c;
}, e.paddingInner = function(h) {
return arguments.length ? (c = Math.min(1, h), d()) : c;
}, e.paddingOuter = function(h) {
return arguments.length ? (g = +h, d()) : g;
}, e.align = function(h) {
return arguments.length ? (m = Math.max(0, Math.min(1, h)), d()) : m;
}, e.copy = function() {
return hn(t(), [r, i]).round(a).paddingInner(c).paddingOuter(g).align(m);
}, at.apply(d(), arguments);
}
function gn(e, t) {
e = e.slice();
var n = 0, r = e.length - 1, i = e[n], o = e[r], s;
return o < i && (s = n, n = r, r = s, s = i, i = o, o = s), e[n] = t.floor(i), e[r] = t.ceil(o), e;
}
const we = /* @__PURE__ */ new Date(), Te = /* @__PURE__ */ new Date();
function x(e, t, n, r) {
function i(o) {
return e(o = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+o)), o;
}
return i.floor = (o) => (e(o = /* @__PURE__ */ new Date(+o)), o), i.ceil = (o) => (e(o = new Date(o - 1)), t(o, 1), e(o), o), i.round = (o) => {
const s = i(o), a = i.ceil(o);
return o - s < a - o ? s : a;
}, i.offset = (o, s) => (t(o = /* @__PURE__ */ new Date(+o), s == null ? 1 : Math.floor(s)), o), i.range = (o, s, a) => {
const c = [];
if (o = i.ceil(o), a = a == null ? 1 : Math.floor(a), !(o < s) || !(a > 0)) return c;
let g;
do
c.push(g = /* @__PURE__ */ new Date(+o)), t(o, a), e(o);
while (g < o && o < s);
return c;
}, i.filter = (o) => x((s) => {
if (s >= s) for (; e(s), !o(s); ) s.setTime(s - 1);
}, (s, a) => {
if (s >= s)
if (a < 0) for (; ++a <= 0; )
for (; t(s, -1), !o(s); )
;
else for (; --a >= 0; )
for (; t(s, 1), !o(s); )
;
}), n && (i.count = (o, s) => (we.setTime(+o), Te.setTime(+s), e(we), e(Te), Math.floor(n(we, Te))), i.every = (o) => (o = Math.floor(o), !isFinite(o) || !(o > 0) ? null : o > 1 ? i.filter(r ? (s) => r(s) % o === 0 : (s) => i.count(0, s) % o === 0) : i)), i;
}
const ce = x(() => {
}, (e, t) => {
e.setTime(+e + t);
}, (e, t) => t - e);
ce.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? x((t) => {
t.setTime(Math.floor(t / e) * e);
}, (t, n) => {
t.setTime(+t + n * e);
}, (t, n) => (n - t) / e) : ce);
ce.range;
const k = 1e3, I = k * 60, $ = I * 60, _ = $ * 24, Ue = _ * 7, _e = _ * 30, Ce = _ * 365, K = x((e) => {
e.setTime(e - e.getMilliseconds());
}, (e, t) => {
e.setTime(+e + t * k);
}, (e, t) => (t - e) / k, (e) => e.getUTCSeconds());
K.range;
const Ee = x((e) => {
e.setTime(e - e.getMilliseconds() - e.getSeconds() * k);
}, (e, t) => {
e.setTime(+e + t * I);
}, (e, t) => (t - e) / I, (e) => e.getMinutes());
Ee.range;
const mn = x((e) => {
e.setUTCSeconds(0, 0);
}, (e, t) => {
e.setTime(+e + t * I);
}, (e, t) => (t - e) / I, (e) => e.getUTCMinutes());
mn.range;
const Fe = x((e) => {
e.setTime(e - e.getMilliseconds() - e.getSeconds() * k - e.getMinutes() * I);
}, (e, t) => {
e.setTime(+e + t * $);
}, (e, t) => (t - e) / $, (e) => e.getHours());
Fe.range;
const dn = x((e) => {
e.setUTCMinutes(0, 0, 0);
}, (e, t) => {
e.setTime(+e + t * $);
}, (e, t) => (t - e) / $, (e) => e.getUTCHours());
dn.range;
const se = x(
(e) => e.setHours(0, 0, 0, 0),
(e, t) => e.setDate(e.getDate() + t),
(e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * I) / _,
(e) => e.getDate() - 1
);
se.range;
const Re = x((e) => {
e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
e.setUTCDate(e.getUTCDate() + t);
}, (e, t) => (t - e) / _, (e) => e.getUTCDate() - 1);
Re.range;
const yn = x((e) => {
e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
e.setUTCDate(e.getUTCDate() + t);
}, (e, t) => (t - e) / _, (e) => Math.floor(e / _));
yn.range;
function Z(e) {
return x((t) => {
t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
}, (t, n) => {
t.setDate(t.getDate() + n * 7);
}, (t, n) => (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * I) / Ue);
}
const me = Z(0), le = Z(1), pn = Z(2), wn = Z(3), ee = Z(4), Tn = Z(5), Cn = Z(6);
me.range;
le.range;
pn.range;
wn.range;
ee.range;
Tn.range;
Cn.range;
function X(e) {
return x((t) => {
t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
}, (t, n) => {
t.setUTCDate(t.getUTCDate() + n * 7);
}, (t, n) => (n - t) / Ue);
}
const ut = X(0), fe = X(1), Sn = X(2), Mn = X(3), te = X(4), xn = X(5), bn = X(6);
ut.range;
fe.range;
Sn.range;
Mn.range;
te.range;
xn.range;
bn.range;
const Le = x((e) => {
e.setDate(1), e.setHours(0, 0, 0, 0);
}, (e, t) => {
e.setMonth(e.getMonth() + t);
}, (e, t) => t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12, (e) => e.getMonth());
Le.range;
const Dn = x((e) => {
e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
e.setUTCMonth(e.getUTCMonth() + t);
}, (e, t) => t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12, (e) => e.getUTCMonth());
Dn.range;
const B = x((e) => {
e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
}, (e, t) => {
e.setFullYear(e.getFullYear() + t);
}, (e, t) => t.getFullYear() - e.getFullYear(), (e) => e.getFullYear());
B.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : x((t) => {
t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
}, (t, n) => {
t.setFullYear(t.getFullYear() + n * e);
});
B.range;
const j = x((e) => {
e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
}, (e, t) => {
e.setUTCFullYear(e.getUTCFullYear() + t);
}, (e, t) => t.getUTCFullYear() - e.getUTCFullYear(), (e) => e.getUTCFullYear());
j.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : x((t) => {
t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
}, (t, n) => {
t.setUTCFullYear(t.getUTCFullYear() + n * e);
});
j.range;
function vn(e, t, n, r, i, o) {
const s = [
[K, 1, k],
[K, 5, 5 * k],
[K, 15, 15 * k],
[K, 30, 30 * k],
[o, 1, I],
[o, 5, 5 * I],
[o, 15, 15 * I],
[o, 30, 30 * I],
[i, 1, $],
[i, 3, 3 * $],
[i, 6, 6 * $],
[i, 12, 12 * $],
[r, 1, _],
[r, 2, 2 * _],
[n, 1, Ue],
[t, 1, _e],
[t, 3, 3 * _e],
[e, 1, Ce]
];
function a(g, m, d) {
const h = m < g;
h && ([g, m] = [m, g]);
const T = d && typeof d.range == "function" ? d : c(g, m, d), M = T ? T.range(g, +m + 1) : [];
return h ? M.reverse() : M;
}
function c(g, m, d) {
const h = Math.abs(m - g) / d, T = Zt(([, , H]) => H).right(s, h);
if (T === s.length) return e.every(We(g / Ce, m / Ce, d));
if (T === 0) return ce.every(Math.max(We(g, m, d), 1));
const [M, E] = s[h / s[T - 1][2] < s[T][2] / h ? T - 1 : T];
return M.every(E);
}
return [a, c];
}
const [Un, En] = vn(B, Le, me, se, Fe, Ee);
function Se(e) {
if (0 <= e.y && e.y < 100) {
var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
return t.setFullYear(e.y), t;
}
return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
}
function Me(e) {
if (0 <= e.y && e.y < 100) {
var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
return t.setUTCFullYear(e.y), t;
}
return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
}
function re(e, t, n) {
return { y: e, m: t, d: n, H: 0, M: 0, S: 0, L: 0 };
}
function Fn(e) {
var t = e.dateTime, n = e.date, r = e.time, i = e.periods, o = e.days, s = e.shortDays, a = e.months, c = e.shortMonths, g = ie(i), m = oe(i), d = ie(o), h = oe(o), T = ie(s), M = oe(s), E = ie(a), H = oe(a), P = ie(c), Q = oe(c), A = {
a: Ht,
A: At,
b: Ot,
B: Pt,
c: null,
d: Ge,
e: Ge,
f: Jn,
g: ur,
G: lr,
H: Zn,
I: Xn,
j: Qn,
L: ct,
m: Kn,
M: er,
p: Wt,
q: kt,
Q: Xe,
s: Qe,
S: tr,
u: nr,
U: rr,
V: ir,
w: or,
W: sr,
x: null,
X: null,
y: ar,
Y: cr,
Z: fr,
"%": Ze
}, O = {
a: $t,
A: Yt,
b: _t,
B: Bt,
c: null,
d: je,
e: je,
f: dr,
g: Dr,
G: Ur,
H: hr,
I: gr,
j: mr,
L: ft,
m: yr,
M: pr,
p: Vt,
q: zt,
Q: Xe,
s: Qe,
S: wr,
u: Tr,
U: Cr,
V: Sr,
w: Mr,
W: xr,
x: null,
X: null,
y: br,
Y: vr,
Z: Er,
"%": Ze
}, N = {
a: vt,
A: Ut,
b: Et,
B: Ft,
c: Rt,
d: qe,
e: qe,
f: qn,
g: ze,
G: Ve,
H: Ne,
I: Ne,
j: _n,
L: zn,
m: Yn,
M: Bn,
p: ae,
q: $n,
Q: Gn,
s: jn,
S: Vn,
u: An,
U: On,
V: Pn,
w: Hn,
W: Wn,
x: Lt,
X: It,
y: ze,
Y: Ve,
Z: kn,
"%": Nn
};
A.x = f(n, A), A.X = f(r, A), A.c = f(t, A), O.x = f(n, O), O.X = f(r, O), O.c = f(t, O);
function f(l, y) {
return function(p) {
var u = [], v = -1, C = 0, F = l.length, R, G, Oe;
for (p instanceof Date || (p = /* @__PURE__ */ new Date(+p)); ++v < F; )
l.charCodeAt(v) === 37 && (u.push(l.slice(C, v)), (G = Be[R = l.charAt(++v)]) != null ? R = l.charAt(++v) : G = R === "e" ? " " : "0", (Oe = y[R]) && (R = Oe(p, G)), u.push(R), C = v + 1);
return u.push(l.slice(C, v)), u.join("");
};
}
function S(l, y) {
return function(p) {
var u = re(1900, void 0, 1), v = W(u, l, p += "", 0), C, F;
if (v != p.length) return null;
if ("Q" in u) return new Date(u.Q);
if ("s" in u) return new Date(u.s * 1e3 + ("L" in u ? u.L : 0));
if (y && !("Z" in u) && (u.Z = 0), "p" in u && (u.H = u.H % 12 + u.p * 12), u.m === void 0 && (u.m = "q" in u ? u.q : 0), "V" in u) {
if (u.V < 1 || u.V > 53) return null;
"w" in u || (u.w = 1), "Z" in u ? (C = Me(re(u.y, 0, 1)), F = C.getUTCDay(), C = F > 4 || F === 0 ? fe.ceil(C) : fe(C), C = Re.offset(C, (u.V - 1) * 7), u.y = C.getUTCFullYear(), u.m = C.getUTCMonth(), u.d = C.getUTCDate() + (u.w + 6) % 7) : (C = Se(re(u.y, 0, 1)), F = C.getDay(), C = F > 4 || F === 0 ? le.ceil(C) : le(C), C = se.offset(C, (u.V - 1) * 7), u.y = C.getFullYear(), u.m = C.getMonth(), u.d = C.getDate() + (u.w + 6) % 7);
} else ("W" in u || "U" in u) && ("w" in u || (u.w = "u" in u ? u.u % 7 : "W" in u ? 1 : 0), F = "Z" in u ? Me(re(u.y, 0, 1)).getUTCDay() : Se(re(u.y, 0, 1)).getDay(), u.m = 0, u.d = "W" in u ? (u.w + 6) % 7 + u.W * 7 - (F + 5) % 7 : u.w + u.U * 7 - (F + 6) % 7);
return "Z" in u ? (u.H += u.Z / 100 | 0, u.M += u.Z % 100, Me(u)) : Se(u);
};
}
function W(l, y, p, u) {
for (var v = 0, C = y.length, F = p.length, R, G; v < C; ) {
if (u >= F) return -1;
if (R = y.charCodeAt(v++), R === 37) {
if (R = y.charAt(v++), G = N[R in Be ? y.charAt(v++) : R], !G || (u = G(l, p, u)) < 0) return -1;
} else if (R != p.charCodeAt(u++))
return -1;
}
return u;
}
function ae(l, y, p) {
var u = g.exec(y.slice(p));
return u ? (l.p = m.get(u[0].toLowerCase()), p + u[0].length) : -1;
}
function vt(l, y, p) {
var u = T.exec(y.slice(p));
return u ? (l.w = M.get(u[0].toLowerCase()), p + u[0].length) : -1;
}
function Ut(l, y, p) {
var u = d.exec(y.slice(p));
return u ? (l.w = h.get(u[0].toLowerCase()), p + u[0].length) : -1;
}
function Et(l, y, p) {
var u = P.exec(y.slice(p));
return u ? (l.m = Q.get(u[0].toLowerCase()), p + u[0].length) : -1;
}
function Ft(l, y, p) {
var u = E.exec(y.slice(p));
return u ? (l.m = H.get(u[0].toLowerCase()), p + u[0].length) : -1;
}
function Rt(l, y, p) {
return W(l, t, y, p);
}
function Lt(l, y, p) {
return W(l, n, y, p);
}
function It(l, y, p) {
return W(l, r, y, p);
}
function Ht(l) {
return s[l.getDay()];
}
function At(l) {
return o[l.getDay()];
}
function Ot(l) {
return c[l.getMonth()];
}
function Pt(l) {
return a[l.getMonth()];
}
function Wt(l) {
return i[+(l.getHours() >= 12)];
}
function kt(l) {
return 1 + ~~(l.getMonth() / 3);
}
function $t(l) {
return s[l.getUTCDay()];
}
function Yt(l) {
return o[l.getUTCDay()];
}
function _t(l) {
return c[l.getUTCMonth()];
}
function Bt(l) {
return a[l.getUTCMonth()];
}
function Vt(l) {
return i[+(l.getUTCHours() >= 12)];
}
function zt(l) {
return 1 + ~~(l.getUTCMonth() / 3);
}
return {
format: function(l) {
var y = f(l += "", A);
return y.toString = function() {
return l;
}, y;
},
parse: function(l) {
var y = S(l += "", !1);
return y.toString = function() {
return l;
}, y;
},
utcFormat: function(l) {
var y = f(l += "", O);
return y.toString = function() {
return l;
}, y;
},
utcParse: function(l) {
var y = S(l += "", !0);
return y.toString = function() {
return l;
}, y;
}
};
}
var Be = { "-": "", _: " ", 0: "0" }, b = /^\s*\d+/, Rn = /^%/, Ln = /[\\^$*+?|[\]().{}]/g;
function w(e, t, n) {
var r = e < 0 ? "-" : "", i = (r ? -e : e) + "", o = i.length;
return r + (o < n ? new Array(n - o + 1).join(t) + i : i);
}
function In(e) {
return e.replace(Ln, "\\$&");
}
function ie(e) {
return new RegExp("^(?:" + e.map(In).join("|") + ")", "i");
}
function oe(e) {
return new Map(e.map((t, n) => [t.toLowerCase(), n]));
}
function Hn(e, t, n) {
var r = b.exec(t.slice(n, n + 1));
return r ? (e.w = +r[0], n + r[0].length) : -1;
}
function An(e, t, n) {
var r = b.exec(t.slice(n, n + 1));
return r ? (e.u = +r[0], n + r[0].length) : -1;
}
function On(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.U = +r[0], n + r[0].length) : -1;
}
function Pn(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.V = +r[0], n + r[0].length) : -1;
}
function Wn(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.W = +r[0], n + r[0].length) : -1;
}
function Ve(e, t, n) {
var r = b.exec(t.slice(n, n + 4));
return r ? (e.y = +r[0], n + r[0].length) : -1;
}
function ze(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1;
}
function kn(e, t, n) {
var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n, n + 6));
return r ? (e.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1;
}
function $n(e, t, n) {
var r = b.exec(t.slice(n, n + 1));
return r ? (e.q = r[0] * 3 - 3, n + r[0].length) : -1;
}
function Yn(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.m = r[0] - 1, n + r[0].length) : -1;
}
function qe(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.d = +r[0], n + r[0].length) : -1;
}
function _n(e, t, n) {
var r = b.exec(t.slice(n, n + 3));
return r ? (e.m = 0, e.d = +r[0], n + r[0].length) : -1;
}
function Ne(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.H = +r[0], n + r[0].length) : -1;
}
function Bn(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.M = +r[0], n + r[0].length) : -1;
}
function Vn(e, t, n) {
var r = b.exec(t.slice(n, n + 2));
return r ? (e.S = +r[0], n + r[0].length) : -1;
}
function zn(e, t, n) {
var r = b.exec(t.slice(n, n + 3));
return r ? (e.L = +r[0], n + r[0].length) : -1;
}
function qn(e, t, n) {
var r = b.exec(t.slice(n, n + 6));
return r ? (e.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1;
}
function Nn(e, t, n) {
var r = Rn.exec(t.slice(n, n + 1));
return r ? n + r[0].length : -1;
}
function Gn(e, t, n) {
var r = b.exec(t.slice(n));
return r ? (e.Q = +r[0], n + r[0].length) : -1;
}
function jn(e, t, n) {
var r = b.exec(t.slice(n));
return r ? (e.s = +r[0], n + r[0].length) : -1;
}
function Ge(e, t) {
return w(e.getDate(), t, 2);
}
function Zn(e, t) {
return w(e.getHours(), t, 2);
}
function Xn(e, t) {
return w(e.getHours() % 12 || 12, t, 2);
}
function Qn(e, t) {
return w(1 + se.count(B(e), e), t, 3);
}
function ct(e, t) {
return w(e.getMilliseconds(), t, 3);
}
function Jn(e, t) {
return ct(e, t) + "000";
}
function Kn(e, t) {
return w(e.getMonth() + 1, t, 2);
}
function er(e, t) {
return w(e.getMinutes(), t, 2);
}
function tr(e, t) {
return w(e.getSeconds(), t, 2);
}
function nr(e) {
var t = e.getDay();
return t === 0 ? 7 : t;
}
function rr(e, t) {
return w(me.count(B(e) - 1, e), t, 2);
}
function lt(e) {
var t = e.getDay();
return t >= 4 || t === 0 ? ee(e) : ee.ceil(e);
}
function ir(e, t) {
return e = lt(e), w(ee.count(B(e), e) + (B(e).getDay() === 4), t, 2);
}
function or(e) {
return e.getDay();
}
function sr(e, t) {
return w(le.count(B(e) - 1, e), t, 2);
}
function ar(e, t) {
return w(e.getFullYear() % 100, t, 2);
}
function ur(e, t) {
return e = lt(e), w(e.getFullYear() % 100, t, 2);
}
function cr(e, t) {
return w(e.getFullYear() % 1e4, t, 4);
}
function lr(e, t) {
var n = e.getDay();
return e = n >= 4 || n === 0 ? ee(e) : ee.ceil(e), w(e.getFullYear() % 1e4, t, 4);
}
function fr(e) {
var t = e.getTimezoneOffset();
return (t > 0 ? "-" : (t *= -1, "+")) + w(t / 60 | 0, "0", 2) + w(t % 60, "0", 2);
}
function je(e, t) {
return w(e.getUTCDate(), t, 2);
}
function hr(e, t) {
return w(e.getUTCHours(), t, 2);
}
function gr(e, t) {
return w(e.getUTCHours() % 12 || 12, t, 2);
}
function mr(e, t) {
return w(1 + Re.count(j(e), e), t, 3);
}
function ft(e, t) {
return w(e.getUTCMilliseconds(), t, 3);
}
function dr(e, t) {
return ft(e, t) + "000";
}
function yr(e, t) {
return w(e.getUTCMonth() + 1, t, 2);
}
function pr(e, t) {
return w(e.getUTCMinutes(), t, 2);
}
function wr(e, t) {
return w(e.getUTCSeconds(), t, 2);
}
function Tr(e) {
var t = e.getUTCDay();
return t === 0 ? 7 : t;
}
function Cr(e, t) {
return w(ut.count(j(e) - 1, e), t, 2);
}
function ht(e) {
var t = e.getUTCDay();
return t >= 4 || t === 0 ? te(e) : te.ceil(e);
}
function Sr(e, t) {
return e = ht(e), w(te.count(j(e), e) + (j(e).getUTCDay() === 4), t, 2);
}
function Mr(e) {
return e.getUTCDay();
}
function xr(e, t) {
return w(fe.count(j(e) - 1, e), t, 2);
}
function br(e, t) {
return w(e.getUTCFullYear() % 100, t, 2);
}
function Dr(e, t) {
return e = ht(e), w(e.getUTCFullYear() % 100, t, 2);
}
function vr(e, t) {
return w(e.getUTCFullYear() % 1e4, t, 4);
}
function Ur(e, t) {
var n = e.getUTCDay();
return e = n >= 4 || n === 0 ? te(e) : te.ceil(e), w(e.getUTCFullYear() % 1e4, t, 4);
}
function Er() {
return "+0000";
}
function Ze() {
return "%";
}
function Xe(e) {
return +e;
}
function Qe(e) {
return Math.floor(+e / 1e3);
}
var J, gt;
Fr({
dateTime: "%x, %X",
date: "%-m/%-d/%Y",
time: "%-I:%M:%S %p",
periods: ["AM", "PM"],
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
});
function Fr(e) {
return J = Fn(e), gt = J.format, J.parse, J.utcFormat, J.utcParse, J;
}
function Rr(e) {
return new Date(e);
}
function Lr(e) {
return e instanceof Date ? +e : +/* @__PURE__ */ new Date(+e);
}
function mt(e, t, n, r, i, o, s, a, c, g) {
var m = Xt(), d = m.invert, h = m.domain, T = g(".%L"), M = g(":%S"), E = g("%I:%M"), H = g("%I %p"), P = g("%a %d"), Q = g("%b %d"), A = g("%B"), O = g("%Y");
function N(f) {
return (c(f) < f ? T : a(f) < f ? M : s(f) < f ? E : o(f) < f ? H : r(f) < f ? i(f) < f ? P : Q : n(f) < f ? A : O)(f);
}
return m.invert = function(f) {
return new Date(d(f));
}, m.domain = function(f) {
return arguments.length ? h(Array.from(f, Lr)) : h().map(Rr);
}, m.ticks = function(f) {
var S = h();
return e(S[0], S[S.length - 1], f ?? 10);
}, m.tickFormat = function(f, S) {
return S == null ? N : g(S);
}, m.nice = function(f) {
var S = h();
return (!f || typeof f.range != "function") && (f = t(S[0], S[S.length - 1], f ?? 10)), f ? h(gn(S, f)) : m;
}, m.copy = function() {
return Qt(m, mt(e, t, n, r, i, o, s, a, c, g));
}, m;
}
function Fi() {
return at.apply(mt(Un, En, B, Le, me, se, Fe, Ee, K, gt).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
}
const Ri = Math.abs, Li = Math.atan2, Ii = Math.cos, Hi = Math.max, Ai = Math.min, Oi = Math.sin, Pi = Math.sqrt, Wi = 1e-12, Ie = Math.PI, Je = Ie / 2, ki = 2 * Ie;
function $i(e) {
return e > 1 ? 0 : e < -1 ? Ie : Math.acos(e);
}
function Yi(e) {
return e >= 1 ? Je : e <= -1 ? -Je : Math.asin(e);
}
function dt(e) {
this._context = e;
}
dt.prototype = {
areaStart: function() {
this._line = 0;
},
areaEnd: function() {
this._line = NaN;
},
lineStart: function() {
this._point = 0;
},
lineEnd: function() {
(this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
},
point: function(e, t) {
switch (e = +e, t = +t, this._point) {
case 0:
this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
break;
case 1:
this._point = 2;
default:
this._context.lineTo(e, t);
break;
}
}
};
function _i(e) {
return new dt(e);
}
function Ke() {
}
function yt(e) {
this._context = e;
}
yt.prototype = {
areaStart: Ke,
areaEnd: Ke,
lineStart: function() {
this._point = 0;
},
lineEnd: function() {
this._point && this._context.closePath();
},
point: function(e, t) {
e = +e, t = +t, this._point ? this._context.lineTo(e, t) : (this._point = 1, this._context.moveTo(e, t));
}
};
function Bi(e) {
return new yt(e);
}
function Ir(e, t) {
if (e.match(/^[a-z]+:\/\//i))
return e;
if (e.match(/^\/\//))
return window.location.protocol + e;
if (e.match(/^[a-z]+:/i))
return e;
const n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
}
const Hr = /* @__PURE__ */ (() => {
let e = 0;
const t = () => (
// eslint-disable-next-line no-bitwise
`0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4)
);
return () => (e += 1, `u${t()}${e}`);
})();
function Y(e) {
const t = [];
for (let n = 0, r = e.length; n < r; n++)
t.push(e[n]);
return t;
}
function he(e, t) {
const r = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
return r ? parseFloat(r.replace("px", "")) : 0;
}
function Ar(e) {
const t = he(e, "border-left-width"), n = he(e, "border-right-width");
return e.clientWidth + t + n;
}
function Or(e) {
const t = he(e, "border-top-width"), n = he(e, "border-bottom-width");
return e.clientHeight + t + n;
}
function pt(e, t = {}) {
const n = t.width || Ar(e), r = t.height || Or(e);
return { width: n, height: r };
}
function Pr() {
let e, t;
try {
t = process;
} catch {
}
const n = t && t.env ? t.env.devicePixelRatio : null;
return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
}
const L = 16384;
function Wr(e) {
(e.width > L || e.height > L) && (e.width > L && e.height > L ? e.width > e.height ? (e.height *= L / e.width, e.width = L) : (e.width *= L / e.height, e.height = L) : e.width > L ? (e.height *= L / e.width, e.width = L) : (e.width *= L / e.height, e.height = L));
}
function ge(e) {
return new Promise((t, n) => {
const r = new Image();
r.decode = () => t(r), r.onload = () => t(r), r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
});
}
async function kr(e) {
return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((t) => `data:image/svg+xml;charset=utf-8,${t}`);
}
async function $r(e, t, n) {
const r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), o = document.createElementNS(r, "foreignObject");
return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), o.setAttribute("width", "100%"), o.setAttribute("height", "100%"), o.setAttribute("x", "0"), o.setAttribute("y", "0"), o.setAttribute("externalResourcesRequired", "true"), i.appendChild(o), o.appendChild(e), kr(i);
}
const U = (e, t) => {
if (e instanceof t)
return !0;
const n = Object.getPrototypeOf(e);
return n === null ? !1 : n.constructor.name === t.name || U(n, t);
};
function Yr(e) {
const t = e.getPropertyValue("content");
return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
}
function _r(e) {
return Y(e).map((t) => {
const n = e.getPropertyValue(t), r = e.getPropertyPriority(t);
return `${t}: ${n}${r ? " !important" : ""};`;
}).join(" ");
}
function Br(e, t, n) {
const r = `.${e}:${t}`, i = n.cssText ? Yr(n) : _r(n);
return document.createTextNode(`${r}{${i}}`);
}
function et(e, t, n) {
const r = window.getComputedStyle(e, n), i = r.getPropertyValue("content");
if (i === "" || i === "none")
return;
const o = Hr();
try {
t.className = `${t.className} ${o}`;
} catch {
return;
}
const s = document.createElement("style");
s.appendChild(Br(o, n, r)), t.appendChild(s);
}
function Vr(e, t) {
et(e, t, ":before"), et(e, t, ":after");
}
const tt = "application/font-woff", nt = "image/jpeg", zr = {
woff: tt,
woff2: tt,
ttf: "application/font-truetype",
eot: "application/vnd.ms-fontobject",
png: "image/png",
jpg: nt,
jpeg: nt,
gif: "image/gif",
tiff: "image/tiff",
svg: "image/svg+xml",
webp: "image/webp"
};
function qr(e) {
const t = /\.([^./]*?)$/g.exec(e);
return t ? t[1] : "";
}
function He(e) {
const t = qr(e).toLowerCase();
return zr[t] || "";
}
function Nr(e) {
return e.split(/,/)[1];
}
function De(e) {
return e.search(/^(data:)/) !== -1;
}
function Gr(e, t) {
return `data:${t};base64,${e}`;
}
async function wt(e, t, n) {
const r = await fetch(e, t);
if (r.status === 404)
throw new Error(`Resource "${r.url}" not found`);
const i = await r.blob();
return new Promise((o, s) => {
const a = new FileReader();
a.onerror = s, a.onloadend = () => {
try {
o(n({ res: r, result: a.result }));
} catch (c) {
s(c);
}
}, a.readAsDataURL(i);
});
}
const xe = {};
function jr(e, t, n) {
let r = e.replace(/\?.*/, "");
return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
}
async function Ae(e, t, n) {
const r = jr(e, t, n.includeQueryParams);
if (xe[r] != null)
return xe[r];
n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
let i;
try {
const o = await wt(e, n.fetchRequestInit, ({ res: s, result: a }) => (t || (t = s.headers.get("Content-Type") || ""), Nr(a)));
i = Gr(o, t);
} catch (o) {
i = n.imagePlaceholder || "";
let s = `Failed to fetch resource: ${e}`;
o && (s = typeof o == "string" ? o : o.message), s && console.warn(s);
}
return xe[r] = i, i;
}
async function Zr(e) {
const t = e.toDataURL();
return t === "data:," ? e.cloneNode(!1) : ge(t);
}
async function Xr(e, t) {
if (e.currentSrc) {
const o = document.createElement("canvas"), s = o.getContext("2d");
o.width = e.clientWidth, o.height = e.clientHeight, s == null || s.drawImage(e, 0, 0, o.width, o.height);
const a = o.toDataURL();
return ge(a);
}
const n = e.poster, r = He(n), i = await Ae(n, r, t);
return ge(i);
}
async function Qr(e) {
var t;
try {
if (!((t = e == null ? void 0 : e.contentDocument) === null || t === void 0) && t.body)
return await de(e.contentDocument.body, {}, !0);
} catch {
}
return e.cloneNode(!1);
}
async function Jr(e, t) {
return U(e, HTMLCanvasElement) ? Zr(e) : U(e, HTMLVideoElement) ? Xr(e, t) : U(e, HTMLIFrameElement) ? Qr(e) : e.cloneNode(!1);
}
const Kr = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT";
async function ei(e, t, n) {
var r, i;
let o = [];
return Kr(e) && e.assignedNodes ? o = Y(e.assignedNodes()) : U(e, HTMLIFrameElement) && (!((r = e.contentDocument) === null || r === void 0) && r.body) ? o = Y(e.contentDocument.body.childNodes) : o = Y(((i = e.shadowRoot) !== null && i !== void 0 ? i : e).childNodes), o.length === 0 || U(e, HTMLVideoElement) || await o.reduce((s, a) => s.then(() => de(a, n)).then((c) => {
c && t.appendChild(c);
}), Promise.resolve()), t;
}
function ti(e, t) {
const n = t.style;
if (!n)
return;
const r = window.getComputedStyle(e);
r.cssText ? (n.cssText = r.cssText, n.transformOrigin = r.transformOrigin) : Y(r).forEach((i) => {
let o = r.getPropertyValue(i);
i === "font-size" && o.endsWith("px") && (o = `${Math.floor(parseFloat(o.substring(0, o.length - 2))) - 0.1}px`), U(e, HTMLIFrameElement) && i === "display" && o === "inline" && (o = "block"), i === "d" && t.getAttribute("d") && (o = `path(${t.getAttribute("d")})`), n.setProperty(i, o, r.getPropertyPriority(i));
});
}
function ni(e, t) {
U(e, HTMLTextAreaElement) && (t.innerHTML = e.value), U(e, HTMLInputElement) && t.setAttribute("value", e.value);
}
function ri(e, t) {
if (U(e, HTMLSelectElement)) {
const n = t, r = Array.from(n.children).find((i) => e.value === i.getAttribute("value"));
r && r.setAttribute("selected", "");
}
}
function ii(e, t) {
return U(t, Element) && (ti(e, t), Vr(e, t), ni(e, t), ri(e, t)), t;
}
async function oi(e, t) {
const n = e.querySelectorAll ? e.querySelectorAll("use") : [];
if (n.length === 0)
return e;
const r = {};
for (let o = 0; o < n.length; o++) {
const a = n[o].getAttribute("xlink:href");
if (a) {
const c = e.querySelector(a), g = document.querySelector(a);
!c && g && !r[a] && (r[a] = await de(g, t, !0));
}
}
const i = Object.values(r);
if (i.length) {
const o = "http://www.w3.org/1999/xhtml", s = document.createElementNS(o, "svg");
s.setAttribute("xmlns", o), s.style.position = "absolute", s.style.width = "0", s.style.height = "0", s.style.overflow = "hidden", s.style.display = "none";
const a = document.createElementNS(o, "defs");
s.appendChild(a);
for (let c = 0; c < i.length; c++)
a.appendChild(i[c]);
e.appendChild(s);
}
return e;
}
async function de(e, t, n) {
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((r) => Jr(r, t)).then((r) => ei(e, r, t)).then((r) => ii(e, r)).then((r) => oi(r, t));
}
const Tt = /url\((['"]?)([^'"]+?)\1\)/g, si = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, ai = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
function ui(e) {
const t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
}
function ci(e) {
const t = [];
return e.replace(Tt, (n, r, i) => (t.push(i), n)), t.filter((n) => !De(n));
}
async function li(e, t, n, r, i) {
try {
const o = n ? Ir(t, n) : t, s = He(t);
let a;
return i || (a = await Ae(o, s, r)), e.replace(ui(t), `$1${a}$3`);
} catch {
}
return e;
}
function fi(e, { preferredFontFormat: t }) {
return t ? e.replace(ai, (n) => {
for (; ; ) {
const [r, , i] = si.exec(n) || [];
if (!i)
return "";
if (i === t)
return `src: ${r};`;
}
}) : e;
}
function Ct(e) {
return e.search(Tt) !== -1;
}
async function St(e, t, n) {
if (!Ct(e))
return e;
const r = fi(e, n);
return ci(r).reduce((o, s) => o.then((a) => li(a, s, t, n)), Promise.resolve(r));
}
async function ue(e, t, n) {
var r;
const i = (r = t.style) === null || r === void 0 ? void 0 : r.getPropertyValue(e);
if (i) {
const o = await St(i, null, n);
return t.style.setProperty(e, o, t.style.getPropertyPriority(e)), !0;
}
return !1;
}
async function hi(e, t) {
await ue("background", e, t) || await ue("background-image", e, t), await ue("mask", e, t) || await ue("mask-image", e, t);
}
async function gi(e, t) {
const n = U(e, HTMLImageElement);
if (!(n && !De(e.src)) && !(U(e, SVGImageElement) && !De(e.href.baseVal)))
return;
const r = n ? e.src : e.href.baseVal, i = await Ae(r, He(r), t);
await new Promise((o, s) => {
e.onload = o, e.onerror = s;
const a = e;
a.decode && (a.decode = o), a.loading === "lazy" && (a.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
});
}
async function mi(e, t) {
const r = Y(e.childNodes).map((i) => Mt(i, t));
await Promise.all(r).then(() => e);
}
async function Mt(e, t) {
U(e, Element) && (await hi(e, t), await gi(e, t), await mi(e, t));
}
function di(e, t) {
const { style: n } = e;
t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
const r = t.style;
return r != null && Object.keys(r).forEach((i) => {
n[i] = r[i];
}), e;
}
const rt = {};
async function it(e) {
let t = rt[e];
if (t != null)
return t;
const r = await (await fetch(e)).text();
return t = { url: e, cssText: r }, rt[e] = t, t;
}
async function ot(e, t) {
let n = e.cssText;
const r = /url\(["']?([^"')]+)["']?\)/g, o = (n.match(/url\([^)]+\)/g) || []).map(async (s) => {
let a = s.replace(r, "$1");
return a.startsWith("https://") || (a = new URL(a, e.url).href), wt(a, t.fetchRequestInit, ({ result: c }) => (n = n.replace(s, `url(${c})`), [s, c]));
});
return Promise.all(o).then(() => n);
}
function st(e) {
if (e == null)
return [];
const t = [], n = /(\/\*[\s\S]*?\*\/)/gi;
let r = e.replace(n, "");
const i = new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
for (; ; ) {
const c = i.exec(r);
if (c === null)
break;
t.push(c[0]);
}
r = r.replace(i, "");
const o = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi, s = "((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})", a = new RegExp(s, "gi");
for (; ; ) {
let c = o.exec(r);
if (c === null) {
if (c = a.exec(r), c === null)
break;
o.lastIndex = a.lastIndex;
} else
a.lastIndex = o.lastIndex;
t.push(c[0]);
}
return t;
}
async function yi(e, t) {
const n = [], r = [];
return e.forEach((i) => {
if ("cssRules" in i)
try {
Y(i.cssRules || []).forEach((o, s) => {
if (o.type === CSSRule.IMPORT_RULE) {
let a = s + 1;
const c = o.href, g = it(c).then((m) => ot(m, t)).then((m) => st(m).forEach((d) => {
try {
i.insertRule(d, d.startsWith("@import") ? a += 1 : i.cssRules.length);
} catch (h) {
console.error("Error inserting rule from remote css", {
rule: d,
error: h
});
}
})).catch((m) => {
console.error("Error loading remote css", m.toString());
});
r.push(g);
}
});
} catch (o) {
const s = e.find((a) => a.href == null) || document.styleSheets[0];
i.href != null && r.push(it(i.href).then((a) => ot(a, t)).then((a) => st(a).forEach((c) => {
s.insertRule(c, i.cssRules.length);
})).catch((a) => {
console.error("Error loading remote stylesheet", a);
})), console.error("Error inlining remote css file", o);
}
}), Promise.all(r).then(() => (e.forEach((i) => {
if ("cssRules" in i)
try {
Y(i.cssRules || []).forEach((o) => {
n.push(o);
});
} catch (o) {
console.error(`Error while reading CSS rules from ${i.href}`, o);
}
}), n));
}
function pi(e) {
return e.filter((t) => t.type === CSSRule.FONT_FACE_RULE).filter((t) => Ct(t.style.getPropertyValue("src")));
}
async function wi(e, t) {
if (e.ownerDocument == null)
throw new Error("Provided element is not within a Document");
const n = Y(e.ownerDocument.styleSheets), r = await yi(n, t);
return pi(r);
}
async function Ti(e, t) {
const n = await wi(e, t);
return (await Promise.all(n.map((i) => {
const o = i.parentStyleSheet ? i.parentStyleSheet.href : null;
return St(i.cssText, o, t);
}))).join(`
`);
}
async function Ci(e, t) {
const n = t.fontEmbedCSS != null ? t.fontEmbedCSS : t.skipFonts ? null : await Ti(e, t);
if (n) {
const r = document.createElement("style"), i = document.createTextNode(n);
r.appendChild(i), e.firstChild ? e.insertBefore(r, e.firstChild) : e.appendChild(r);
}
}
async function Si(e, t = {}) {
const { width: n, height: r } = pt(e, t), i = await de(e, t, !0);
return await Ci(i, t), await Mt(i, t), di(i, t), await $r(i, n, r);
}
async function xt(e, t = {}) {
const { width: n, height: r } = pt(e, t), i = await Si(e, t), o = await ge(i), s = document.createElement("canvas"), a = s.getContext("2d"), c = t.pixelRatio || Pr(), g = t.canvasWidth || n, m = t.canvasHeight || r;
return s.width = g * c, s.height = m * c, t.skipAutoScale || Wr(s), s.style.width = `${g}`, s.style.height = `${m}`, t.backgroundColor && (a.fillStyle = t.backgroundColor, a.fillRect(0, 0, s.width, s.height)), a.drawImage(o, 0, 0, s.width, s.height), s;
}
async function Mi(e, t = {}) {
return (await xt(e, t)).toDataURL();
}
async function xi(e, t = {}) {
return (await xt(e, t)).toDataURL("image/jpeg", t.quality || 1);
}
class bt {
constructor(t, n) {
this.model = t, this.services = n, this.init();
}
init() {
}
update() {
}
// Used to pass down information to the components
setModel(t) {
this.model = t;
}
// Used to pass down services to the components
setServices(t) {
this.services = t;
}
}
const bi = "DONT_STYLE_ME_css_styles_verifier";
class ve extends bt {
// initialized in initializeID() called by init()
constructor(t, n) {
super(t, n);
}
static getHTMLElementSize(t) {
return {
width: t.clientWidth,
height: t.clientHeight
};
}
static getSVGElementSize(t, n = {
useAttrs: !1,
useClientDimensions: !1,
useBBox: !1,
useBoundingRect: !1
}) {
t.attr || (t = D(t));
const r = {
width: 0,
height: 0
}, i = (h) => {
h && Object.keys(r).forEach((T) => {
if (h[T]) {
const M = h[T], E = parseFloat(M);
M && E > r[T] && ("" + M).indexOf("%") === -1 && (r[T] = E);
}
});
}, o = {
width: t.attr("width"),
height: t.attr("height")
}, s = t.node();
let a, c, g, m;
try {
typeof s.getBBox == "function" && (a = s.getBBox(), c = {
width: a.width,
height: a.height
});
} catch (h) {
console.error(h);
}
try {
typeof (s == null ? void 0 : s.getBoundingClientRect) == "function" && (g = s.getBoundingClientRect(), m = {
width: g.width,
height: g.height
});
} catch (h) {
console.error(h);
}
let d;
if (s instanceof SVGSVGElement && (d = {
width: s.clientWidth,
height: s.clientHeight
}), n) {
if (n.useAttrs && (i(o), r.width > 0 && r.height > 0))
return r;
if (n.useClientDimensions && (i(d), r.width > 0 && r.height > 0))
return d;
if (n.useBBox && (i(c), r.width > 0 && r.height > 0))
return c;
if (n.useBoundingRect && (i(m), r.width > 0 && r.height > 0))
return m;
}
try {
const h = {
width: ne(t.node(), "width", "baseVal", "value"),
height: ne(t.node(), "height", "baseVal", "value")
};
i(h);
} catch {
i(d), i(c), i(o);
}
return r;
}
static appendOrSelect(t, n) {
const r = t.select(`${n}`);
if (r.empty()) {
let i = n.split("#"), o, s;
return i.length === 2 ? (o = i[0], i = i[1].split("."), s = i[0]) : (i = n.split("."), o = i[0]), t.append(o).attr("id", s).attr("class", i.slice(1).join(" "));
}
return r;
}
init() {
this.initializeID(), this.styleHolderElement(), this.addMainContainer(), this.model.getOptions().resizable && this.addResizeListener(), this.addHolderListeners(), this.handleFullscreenChange();
}
getChartID() {
return this.chartID;
}
getElementOffset(t, n = !1) {
const r = { left: 0, top: 0 }, i = t.getBoundingClientRect(), o = n ? { left: 0, top: 0 } : this.getHolder().getBoundingClientRect();
try {
r.left = i.left - o.left, r.top = i.top - o.top;
} catch (s) {
console.error(s);
}
return r;
}
generateElementIDString(t) {
return `chart-${this.chartID}-${t}`;
}
initializeID() {
this.chartID = Math.floor((1 + Math.random()) * 281474976710656).toString(16);
}
addMainContainer() {
const t = this.model.getOptions(), n = ne(t, "style", "prefix"), r = D(this.getHolder()).append("div").classed(`${ke}--${n}--chart-wrapper`, !0).attr("id", `chart-${this.getChartID()}`).style("height", "100%").style("width", "100%");
r.append("g").attr("class", bi), this.mainContainer = r.node();
}
update() {
this.styleHolderElement();
}
styleHolderElement() {
const t = this.getHolder(), { width: n, height: r, theme: i } = this.model.getOptions();
n !== this.width && (t.style.width = n, this.width = n), r !== this.height && (t.style.height = r, this.height = r), D(this.getHolder()).classed(`${ke}--chart-holder`, !0).attr("data-carbon-theme", i);
}
getHolder() {
return this.model.get("holder");
}
exportToJPG() {
const t = this, n = this.model.getOptions(), r = this.getHolder(), i = D(r);
i.classed("filled", !0), xi(this.getMainContainer(), {
quality: 1,
// Remove toolbar
filter: (o) => !(o.classList && o.classList.contains("cds--cc--toolbar"))
}).then(function(o) {
var c;
let s = "myChart";
const a = ne(n, "fileDownload", "fileName");
typeof a == "function" ? s = a("jpg") : typeof a == "string" && (s = a), (c = t.services.files) == null || c.downloadImage(o, `${s}.jpg`), i.classed("filled", !1);
});
}
exportToPNG() {
const t = this, n = this.model.getOptions(), r = this.getHolder(), i = D(r);
i.classed("filled", !0), Mi(this.getMainContainer(), {
quality: 1,
// Remove toolbar
filter: (o) => !(o.classList && o.classList.contains("cds--cc--toolbar"))
}).then(function(o) {
var c;
let s = "myChart";
const a = ne(n, "fileDownload", "fileName");
typeof a == "function" ? s = a("png") : typeof a == "string" && (s = a), (c = t.services.files) == null || c.downloadImage(o, `${s}.png`), i.classed("filled", !1);
}).catch(function(o) {
console.error("oops, something went wrong!", o);
});
}
isFullScreenMode() {
return D(this.getHolder()).classed("fullscreen");
}
toggleFullscreen() {
const t = this.getHolder();
D(t).classed("fullscreen") && (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) ? document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen && document.msExitFullscreen() : t.requestFullscreen ? t.requestFullscreen() : t.webkitRequestFullscreen ? t.webkitRequestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.msRequestFullscreen && t.msRequestFullscreen();
}
handleFullscreenChange() {
document.addEventListener("fullscreenchange", () => {
const t = D(this.getHolder()), n = t.classed("fullscreen");
t.classed("fullscreen", !n);
});
}
setSVGMaxHeight() {
if (!this.model.getOptions().height) {
const { height: t } = ve.getSVGElementSize(
D(this.mainContainer),
{
useBBox: !0
}
), n = D(this.mainContainer).attr("class"), r = D(this.mainContainer).selectAll(`.${n} > svg`);
let i = 0;
r.nodes().forEach(function(o) {
i += Number(
ve.getSVGElementSize(D(o), {
useBBox: !0
}).height
);
}), i <= t ? D(this.mainContainer).attr("height", i) : D(this.mainContainer).attr("height", "100%");
}
}
getMainContainer() {
return this.mainContainer;
}
addHolderListeners() {
const t = this.getHolder();
t && D(t).on("mouseover", () => {
var n;
(n = this.services.events) == null || n.dispatchEvent(ye.Chart.MOUSEOVER);
}).on("mouseout", () => {
var n;
(n = this.services.events) == null || n.dispatchEvent(ye.Chart.MOUSEOUT);
});
}
addResizeListener() {
const t = this.getHolder();
if (!t)
return;
let n = t.clientWidth, r = t.clientHeight;
const i = ln(() => {
var s;
t && (Math.abs(n - t.clientWidth) > 1 || Math.abs(r - t.clientHeight) > 1) && (n = t.clientWidth, r = t.clientHeight, (s = this.services.events) == null || s.dispatchEvent(ye.Chart.RESIZE));
}, 12.5);
new ResizeObserver(i).observe(t);
}
}
class Dt extends bt {
static appendOrUpdateLinearGradient(t) {
let n = t.svg.select(`defs linearGradient#${t.id}`);
n.empty() && (n = t.svg.append("defs").append("linearGradient").attr("id", t.id).attr("x1", t.x1).attr("x2", t.x2).attr("y1", t.y1).attr("y2", t.y2)), n.selectAll("stop").remove(), n.selectAll("stop").data(t.stops).enter().append("stop").attr("offset", (r) => r.offset).style("stop-color", (r) => r.color).style("stop-opacity", (r) => r.opacity);
}
static getOffsetRatio(t) {
return (Math.abs(t[1]) * 100 / Math.abs(t[0] - t[1])).toFixed(2) + "%";
}
static getStops(t, n) {
const r = t[0] < 0 && t[1] > 0;
let i = [
{
offset: "0%",
color: n,
opacity: "0.6"
},
{
offset: "80%",
color: n,
opacity: "0"
}
];
return r && (i = [
{
offset: "0%",
color: n,
opacity: "0.6"
},
{
offset: Dt.getOffsetRatio(t),
color: n,
opacity: "0"
},
{
offset: "100%",
color: n,
opacity: "0.6"
}
]), i;
}
}
function Vi(e) {
const t = Di(vi(e), 360);
return q(t, [0, 10]) || q(t, [350, 0]) ? {
textAnchor: V.START,
dominantBaseline: z.MIDDLE
} : q(t, [10, 80]) ? {
textAnchor: V.START,
dominantBaseline: z.HANGING
} : q(t, [80, 100]) ? {
textAnchor: V.MIDDLE,
dominantBaseline: z.HANGING
} : q(t, [100, 170]) ? {
textAnchor: V.END,
dominantBaseline: z.HANGING
} : q(t, [170, 190]) ? {
textAnchor: V.END,
dominantBaseline: z.MIDDLE
} : q(t, [190, 260]) ? {
textAnchor: V.END,
dominantBaseline: z.BASELINE
} : q(t, [260, 280]) ? {
textAnchor: V.MIDDLE,
dominantBaseline: z.BASELINE
} : {
textAnchor: V.START,
dominantBaseline: z.BASELINE
};
}
function Di(e, t) {
return (e % t + t) % t;
}
function q(e, [t, n]) {
return e >= t && e <= n;
}
function vi(e) {
return e * (180 / Math.PI);
}
function zi(e) {
return e * (Math.PI / 180);
}
function qi(e, t, n = { x: 0, y: 0 }) {
const r = t * Math.cos(e) + n.x, i = t * Math.sin(e) + n.y;
return { x: isNaN(r) ? 0 : r, y: isNaN(i) ? 0 : i };
}
function Ni(e, t) {
return t * Math.sin(e - Math.PI / 2);
}
export {
Ke as A,
ve as D,
Dt as G,
bt as S,
Ni as a,
vi as b,
Ie as c,
zi as d,
Ii as e,
Oi as f,
Wi as g,
Je as h,
ki as i,
Pi as j,
Ri as k,
Li as l,
Ai as m,
Yi as n,
$i as o,
qi as p,
Hi as q,
Vi as r,
D as s,
Ye as t,
_i as u,
Fi as v,
ln as w,
hn as x,
Bi as y,
gn as z
};
//# sourceMappingURL=angle-utils-CGNI01fr.mjs.map
© 2015 - 2024 Weber Informatics LLC | Privacy Policy