UNPKG

unipept-visualizations

Version:
1,620 lines 456 kB
class Ss { constructor(r, e, n = [], a, i, o = {}) { this.id = r, this.name = e, this.children = n, this.count = a, this.selfCount = i, this.extra = o; } } function ts(t, r) { return t == null || r == null ? NaN : t < r ? -1 : t > r ? 1 : t >= r ? 0 : NaN; } function BR(t, r) { return t == null || r == null ? NaN : r < t ? -1 : r > t ? 1 : r >= t ? 0 : NaN; } function dS(t) { let r, e, n; t.length !== 2 ? (r = ts, e = (s, u) => ts(t(s), u), n = (s, u) => t(s) - u) : (r = t === ts || t === BR ? t : jR, e = t, n = t); function a(s, u, l = 0, c = s.length) { if (l < c) { if (r(u, u) !== 0) return c; do { const f = l + c >>> 1; e(s[f], u) < 0 ? l = f + 1 : c = f; } while (l < c); } return l; } function i(s, u, l = 0, c = s.length) { if (l < c) { if (r(u, u) !== 0) return c; do { const f = l + c >>> 1; e(s[f], u) <= 0 ? l = f + 1 : c = f; } while (l < c); } return l; } function o(s, u, l = 0, c = s.length) { const f = a(s, u, l, c - 1); return f > l && n(s[f - 1], u) > -n(s[f], u) ? f - 1 : f; } return { left: a, center: o, right: i }; } function jR() { return 0; } function UR(t) { return t === null ? NaN : +t; } const zR = dS(ts), VR = zR.right; dS(UR).center; const gS = VR; class Zg extends Map { constructor(r, e = WR) { if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: e } }), r != null) for (const [n, a] of r) this.set(n, a); } get(r) { return super.get(Qg(this, r)); } has(r) { return super.has(Qg(this, r)); } set(r, e) { return super.set(HR(this, r), e); } delete(r) { return super.delete(GR(this, r)); } } function Qg({ _intern: t, _key: r }, e) { const n = r(e); return t.has(n) ? t.get(n) : e; } function HR({ _intern: t, _key: r }, e) { const n = r(e); return t.has(n) ? t.get(n) : (t.set(n, e), e); } function GR({ _intern: t, _key: r }, e) { const n = r(e); return t.has(n) && (e = t.get(n), t.delete(n)), e; } function WR(t) { return t !== null && typeof t == "object" ? t.valueOf() : t; } const qR = Math.sqrt(50), YR = Math.sqrt(10), KR = Math.sqrt(2); function xs(t, r, e) { const n = (r - t) / Math.max(0, e), a = Math.floor(Math.log10(n)), i = n / Math.pow(10, a), o = i >= qR ? 10 : i >= YR ? 5 : i >= KR ? 2 : 1; let s, u, l; return a < 0 ? (l = Math.pow(10, -a) / o, s = Math.round(t * l), u = Math.round(r * l), s / l < t && ++s, u / l > r && --u, l = -l) : (l = Math.pow(10, a) * o, s = Math.round(t / l), u = Math.round(r / l), s * l < t && ++s, u * l > r && --u), u < s && 0.5 <= e && e < 2 ? xs(t, r, e * 2) : [s, u, l]; } function XR(t, r, e) { if (r = +r, t = +t, e = +e, !(e > 0)) return []; if (t === r) return [t]; const n = r < t, [a, i, o] = n ? xs(r, t, e) : xs(t, r, e); if (!(i >= a)) return []; const s = i - a + 1, u = new Array(s); if (n) if (o < 0) for (let l = 0; l < s; ++l) u[l] = (i - l) / -o; else for (let l = 0; l < s; ++l) u[l] = (i - l) * o; else if (o < 0) for (let l = 0; l < s; ++l) u[l] = (a + l) / -o; else for (let l = 0; l < s; ++l) u[l] = (a + l) * o; return u; } function qf(t, r, e) { return r = +r, t = +t, e = +e, xs(t, r, e)[2]; } function JR(t, r, e) { r = +r, t = +t, e = +e; const n = r < t, a = n ? qf(r, t, e) : qf(t, r, e); return (n ? -1 : 1) * (a < 0 ? 1 / -a : a); } function tp(t, r) { let e; if (r === void 0) for (const n of t) n != null && (e < n || e === void 0 && n >= n) && (e = n); else { let n = -1; for (let a of t) (a = r(a, ++n, t)) != null && (e < a || e === void 0 && a >= a) && (e = a); } return e; } function ZR(t, r, e) { t = +t, r = +r, e = (a = arguments.length) < 2 ? (r = t, t = 0, 1) : a < 3 ? 1 : +e; for (var n = -1, a = Math.max(0, Math.ceil((r - t) / e)) | 0, i = new Array(a); ++n < a; ) i[n] = t + n * e; return i; } function QR(t) { return t; } var xl = 1, El = 2, Yf = 3, ro = 4, rp = 1e-6; function t_(t) { return "translate(" + t + ",0)"; } function r_(t) { return "translate(0," + t + ")"; } function e_(t) { return (r) => +t(r); } function n_(t, r) { return r = Math.max(0, t.bandwidth() - r * 2) / 2, t.round() && (r = Math.round(r)), (e) => +t(e) + r; } function a_() { return !this.__axis; } function i_(t, r) { var e = [], n = null, a = null, i = 6, o = 6, s = 3, u = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : 0.5, l = t === xl || t === ro ? -1 : 1, c = t === ro || t === El ? "x" : "y", f = t === xl || t === Yf ? t_ : r_; function h(v) { var d = n ?? (r.ticks ? r.ticks.apply(r, e) : r.domain()), $ = a ?? (r.tickFormat ? r.tickFormat.apply(r, e) : QR), y = Math.max(i, 0) + s, p = r.range(), b = +p[0] + u, I = +p[p.length - 1] + u, _ = (r.bandwidth ? n_ : e_)(r.copy(), u), M = v.selection ? v.selection() : v, B = M.selectAll(".domain").data([null]), H = M.selectAll(".tick").data(d, r).order(), q = H.exit(), Z = H.enter().append("g").attr("class", "tick"), nt = H.select("line"), k = H.select("text"); B = B.merge(B.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), H = H.merge(Z), nt = nt.merge(Z.append("line").attr("stroke", "currentColor").attr(c + "2", l * i)), k = k.merge(Z.append("text").attr("fill", "currentColor").attr(c, l * y).attr("dy", t === xl ? "0em" : t === Yf ? "0.71em" : "0.32em")), v !== M && (B = B.transition(v), H = H.transition(v), nt = nt.transition(v), k = k.transition(v), q = q.transition(v).attr("opacity", rp).attr("transform", function(Y) { return isFinite(Y = _(Y)) ? f(Y + u) : this.getAttribute("transform"); }), Z.attr("opacity", rp).attr("transform", function(Y) { var L = this.parentNode.__axis; return f((L && isFinite(L = L(Y)) ? L : _(Y)) + u); })), q.remove(), B.attr("d", t === ro || t === El ? o ? "M" + l * o + "," + b + "H" + u + "V" + I + "H" + l * o : "M" + u + "," + b + "V" + I : o ? "M" + b + "," + l * o + "V" + u + "H" + I + "V" + l * o : "M" + b + "," + u + "H" + I), H.attr("opacity", 1).attr("transform", function(Y) { return f(_(Y) + u); }), nt.attr(c + "2", l * i), k.attr(c, l * y).text($), M.filter(a_).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === El ? "start" : t === ro ? "end" : "middle"), M.each(function() { this.__axis = _; }); } return h.scale = function(v) { return arguments.length ? (r = v, h) : r; }, h.ticks = function() { return e = Array.from(arguments), h; }, h.tickArguments = function(v) { return arguments.length ? (e = v == null ? [] : Array.from(v), h) : e.slice(); }, h.tickValues = function(v) { return arguments.length ? (n = v == null ? null : Array.from(v), h) : n && n.slice(); }, h.tickFormat = function(v) { return arguments.length ? (a = v, h) : a; }, h.tickSize = function(v) { return arguments.length ? (i = o = +v, h) : i; }, h.tickSizeInner = function(v) { return arguments.length ? (i = +v, h) : i; }, h.tickSizeOuter = function(v) { return arguments.length ? (o = +v, h) : o; }, h.tickPadding = function(v) { return arguments.length ? (s = +v, h) : s; }, h.offset = function(v) { return arguments.length ? (u = +v, h) : u; }, h; } function o_(t) { return i_(Yf, t); } var s_ = { value: () => { } }; function _v() { for (var t = 0, r = arguments.length, e = {}, n; t < r; ++t) { if (!(n = arguments[t] + "") || n in e || /[\s.]/.test(n)) throw new Error("illegal type: " + n); e[n] = []; } return new rs(e); } function rs(t) { this._ = t; } function u_(t, r) { return t.trim().split(/^|\s+/).map(function(e) { var n = "", a = e.indexOf("."); if (a >= 0 && (n = e.slice(a + 1), e = e.slice(0, a)), e && !r.hasOwnProperty(e)) throw new Error("unknown type: " + e); return { type: e, name: n }; }); } rs.prototype = _v.prototype = { constructor: rs, on: function(t, r) { var e = this._, n = u_(t + "", e), a, i = -1, o = n.length; if (arguments.length < 2) { for (; ++i < o; ) if ((a = (t = n[i]).type) && (a = l_(e[a], t.name))) return a; return; } if (r != null && typeof r != "function") throw new Error("invalid callback: " + r); for (; ++i < o; ) if (a = (t = n[i]).type) e[a] = ep(e[a], t.name, r); else if (r == null) for (a in e) e[a] = ep(e[a], t.name, null); return this; }, copy: function() { var t = {}, r = this._; for (var e in r) t[e] = r[e].slice(); return new rs(t); }, call: function(t, r) { if ((a = arguments.length - 2) > 0) for (var e = new Array(a), n = 0, a, i; n < a; ++n) e[n] = arguments[n + 2]; if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (i = this._[t], n = 0, a = i.length; n < a; ++n) i[n].value.apply(r, e); }, apply: function(t, r, e) { if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (var n = this._[t], a = 0, i = n.length; a < i; ++a) n[a].value.apply(r, e); } }; function l_(t, r) { for (var e = 0, n = t.length, a; e < n; ++e) if ((a = t[e]).name === r) return a.value; } function ep(t, r, e) { for (var n = 0, a = t.length; n < a; ++n) if (t[n].name === r) { t[n] = s_, t = t.slice(0, n).concat(t.slice(n + 1)); break; } return e != null && t.push({ name: r, value: e }), t; } var Kf = "http://www.w3.org/1999/xhtml"; const np = { svg: "http://www.w3.org/2000/svg", xhtml: Kf, xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/" }; function hu(t) { var r = t += "", e = r.indexOf(":"); return e >= 0 && (r = t.slice(0, e)) !== "xmlns" && (t = t.slice(e + 1)), np.hasOwnProperty(r) ? { space: np[r], local: t } : t; } function c_(t) { return function() { var r = this.ownerDocument, e = this.namespaceURI; return e === Kf && r.documentElement.namespaceURI === Kf ? r.createElement(t) : r.createElementNS(e, t); }; } function f_(t) { return function() { return this.ownerDocument.createElementNS(t.space, t.local); }; } function pS(t) { var r = hu(t); return (r.local ? f_ : c_)(r); } function h_() { } function Cv(t) { return t == null ? h_ : function() { return this.querySelector(t); }; } function v_(t) { typeof t != "function" && (t = Cv(t)); for (var r = this._groups, e = r.length, n = new Array(e), a = 0; a < e; ++a) for (var i = r[a], o = i.length, s = n[a] = new Array(o), u, l, c = 0; c < o; ++c) (u = i[c]) && (l = t.call(u, u.__data__, c, i)) && ("__data__" in u && (l.__data__ = u.__data__), s[c] = l); return new At(n, this._parents); } function $S(t) { return t == null ? [] : Array.isArray(t) ? t : Array.from(t); } function d_() { return []; } function yS(t) { return t == null ? d_ : function() { return this.querySelectorAll(t); }; } function g_(t) { return function() { return $S(t.apply(this, arguments)); }; } function p_(t) { typeof t == "function" ? t = g_(t) : t = yS(t); for (var r = this._groups, e = r.length, n = [], a = [], i = 0; i < e; ++i) for (var o = r[i], s = o.length, u, l = 0; l < s; ++l) (u = o[l]) && (n.push(t.call(u, u.__data__, l, o)), a.push(u)); return new At(n, a); } function mS(t) { return function() { return this.matches(t); }; } function bS(t) { return function(r) { return r.matches(t); }; } var $_ = Array.prototype.find; function y_(t) { return function() { return $_.call(this.children, t); }; } function m_() { return this.firstElementChild; } function b_(t) { return this.select(t == null ? m_ : y_(typeof t == "function" ? t : bS(t))); } var w_ = Array.prototype.filter; function S_() { return Array.from(this.children); } function x_(t) { return function() { return w_.call(this.children, t); }; } function E_(t) { return this.selectAll(t == null ? S_ : x_(typeof t == "function" ? t : bS(t))); } function T_(t) { typeof t != "function" && (t = mS(t)); for (var r = this._groups, e = r.length, n = new Array(e), a = 0; a < e; ++a) for (var i = r[a], o = i.length, s = n[a] = [], u, l = 0; l < o; ++l) (u = i[l]) && t.call(u, u.__data__, l, i) && s.push(u); return new At(n, this._parents); } function wS(t) { return new Array(t.length); } function I_() { return new At(this._enter || this._groups.map(wS), this._parents); } function Es(t, r) { this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = r; } Es.prototype = { constructor: Es, appendChild: function(t) { return this._parent.insertBefore(t, this._next); }, insertBefore: function(t, r) { return this._parent.insertBefore(t, r); }, querySelector: function(t) { return this._parent.querySelector(t); }, querySelectorAll: function(t) { return this._parent.querySelectorAll(t); } }; function O_(t) { return function() { return t; }; } function A_(t, r, e, n, a, i) { for (var o = 0, s, u = r.length, l = i.length; o < l; ++o) (s = r[o]) ? (s.__data__ = i[o], n[o] = s) : e[o] = new Es(t, i[o]); for (; o < u; ++o) (s = r[o]) && (a[o] = s); } function R_(t, r, e, n, a, i, o) { var s, u, l = /* @__PURE__ */ new Map(), c = r.length, f = i.length, h = new Array(c), v; for (s = 0; s < c; ++s) (u = r[s]) && (h[s] = v = o.call(u, u.__data__, s, r) + "", l.has(v) ? a[s] = u : l.set(v, u)); for (s = 0; s < f; ++s) v = o.call(t, i[s], s, i) + "", (u = l.get(v)) ? (n[s] = u, u.__data__ = i[s], l.delete(v)) : e[s] = new Es(t, i[s]); for (s = 0; s < c; ++s) (u = r[s]) && l.get(h[s]) === u && (a[s] = u); } function __(t) { return t.__data__; } function C_(t, r) { if (!arguments.length) return Array.from(this, __); var e = r ? R_ : A_, n = this._parents, a = this._groups; typeof t != "function" && (t = O_(t)); for (var i = a.length, o = new Array(i), s = new Array(i), u = new Array(i), l = 0; l < i; ++l) { var c = n[l], f = a[l], h = f.length, v = P_(t.call(c, c && c.__data__, l, n)), d = v.length, $ = s[l] = new Array(d), y = o[l] = new Array(d), p = u[l] = new Array(h); e(c, f, $, y, p, v, r); for (var b = 0, I = 0, _, M; b < d; ++b) if (_ = $[b]) { for (b >= I && (I = b + 1); !(M = y[I]) && ++I < d; ) ; _._next = M || null; } } return o = new At(o, n), o._enter = s, o._exit = u, o; } function P_(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function M_() { return new At(this._exit || this._groups.map(wS), this._parents); } function N_(t, r, e) { var n = this.enter(), a = this, i = this.exit(); return typeof t == "function" ? (n = t(n), n && (n = n.selection())) : n = n.append(t + ""), r != null && (a = r(a), a && (a = a.selection())), e == null ? i.remove() : e(i), n && a ? n.merge(a).order() : a; } function D_(t) { for (var r = t.selection ? t.selection() : t, e = this._groups, n = r._groups, a = e.length, i = n.length, o = Math.min(a, i), s = new Array(a), u = 0; u < o; ++u) for (var l = e[u], c = n[u], f = l.length, h = s[u] = new Array(f), v, d = 0; d < f; ++d) (v = l[d] || c[d]) && (h[d] = v); for (; u < a; ++u) s[u] = e[u]; return new At(s, this._parents); } function L_() { for (var t = this._groups, r = -1, e = t.length; ++r < e; ) for (var n = t[r], a = n.length - 1, i = n[a], o; --a >= 0; ) (o = n[a]) && (i && o.compareDocumentPosition(i) ^ 4 && i.parentNode.insertBefore(o, i), i = o); return this; } function F_(t) { t || (t = k_); function r(f, h) { return f && h ? t(f.__data__, h.__data__) : !f - !h; } for (var e = this._groups, n = e.length, a = new Array(n), i = 0; i < n; ++i) { for (var o = e[i], s = o.length, u = a[i] = new Array(s), l, c = 0; c < s; ++c) (l = o[c]) && (u[c] = l); u.sort(r); } return new At(a, this._parents).order(); } function k_(t, r) { return t < r ? -1 : t > r ? 1 : t >= r ? 0 : NaN; } function B_() { var t = arguments[0]; return arguments[0] = this, t.apply(null, arguments), this; } function j_() { return Array.from(this); } function U_() { for (var t = this._groups, r = 0, e = t.length; r < e; ++r) for (var n = t[r], a = 0, i = n.length; a < i; ++a) { var o = n[a]; if (o) return o; } return null; } function z_() { let t = 0; for (const r of this) ++t; return t; } function V_() { return !this.node(); } function H_(t) { for (var r = this._groups, e = 0, n = r.length; e < n; ++e) for (var a = r[e], i = 0, o = a.length, s; i < o; ++i) (s = a[i]) && t.call(s, s.__data__, i, a); return this; } function G_(t) { return function() { this.removeAttribute(t); }; } function W_(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function q_(t, r) { return function() { this.setAttribute(t, r); }; } function Y_(t, r) { return function() { this.setAttributeNS(t.space, t.local, r); }; } function K_(t, r) { return function() { var e = r.apply(this, arguments); e == null ? this.removeAttribute(t) : this.setAttribute(t, e); }; } function X_(t, r) { return function() { var e = r.apply(this, arguments); e == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, e); }; } function J_(t, r) { var e = hu(t); if (arguments.length < 2) { var n = this.node(); return e.local ? n.getAttributeNS(e.space, e.local) : n.getAttribute(e); } return this.each((r == null ? e.local ? W_ : G_ : typeof r == "function" ? e.local ? X_ : K_ : e.local ? Y_ : q_)(e, r)); } function SS(t) { return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView; } function Z_(t) { return function() { this.style.removeProperty(t); }; } function Q_(t, r, e) { return function() { this.style.setProperty(t, r, e); }; } function tC(t, r, e) { return function() { var n = r.apply(this, arguments); n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, e); }; } function rC(t, r, e) { return arguments.length > 1 ? this.each((r == null ? Z_ : typeof r == "function" ? tC : Q_)(t, r, e ?? "")) : Bn(this.node(), t); } function Bn(t, r) { return t.style.getPropertyValue(r) || SS(t).getComputedStyle(t, null).getPropertyValue(r); } function eC(t) { return function() { delete this[t]; }; } function nC(t, r) { return function() { this[t] = r; }; } function aC(t, r) { return function() { var e = r.apply(this, arguments); e == null ? delete this[t] : this[t] = e; }; } function iC(t, r) { return arguments.length > 1 ? this.each((r == null ? eC : typeof r == "function" ? aC : nC)(t, r)) : this.node()[t]; } function xS(t) { return t.trim().split(/^|\s+/); } function Pv(t) { return t.classList || new ES(t); } function ES(t) { this._node = t, this._names = xS(t.getAttribute("class") || ""); } ES.prototype = { add: function(t) { var r = this._names.indexOf(t); r < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))); }, remove: function(t) { var r = this._names.indexOf(t); r >= 0 && (this._names.splice(r, 1), this._node.setAttribute("class", this._names.join(" "))); }, contains: function(t) { return this._names.indexOf(t) >= 0; } }; function TS(t, r) { for (var e = Pv(t), n = -1, a = r.length; ++n < a; ) e.add(r[n]); } function IS(t, r) { for (var e = Pv(t), n = -1, a = r.length; ++n < a; ) e.remove(r[n]); } function oC(t) { return function() { TS(this, t); }; } function sC(t) { return function() { IS(this, t); }; } function uC(t, r) { return function() { (r.apply(this, arguments) ? TS : IS)(this, t); }; } function lC(t, r) { var e = xS(t + ""); if (arguments.length < 2) { for (var n = Pv(this.node()), a = -1, i = e.length; ++a < i; ) if (!n.contains(e[a])) return !1; return !0; } return this.each((typeof r == "function" ? uC : r ? oC : sC)(e, r)); } function cC() { this.textContent = ""; } function fC(t) { return function() { this.textContent = t; }; } function hC(t) { return function() { var r = t.apply(this, arguments); this.textContent = r ?? ""; }; } function vC(t) { return arguments.length ? this.each(t == null ? cC : (typeof t == "function" ? hC : fC)(t)) : this.node().textContent; } function dC() { this.innerHTML = ""; } function gC(t) { return function() { this.innerHTML = t; }; } function pC(t) { return function() { var r = t.apply(this, arguments); this.innerHTML = r ?? ""; }; } function $C(t) { return arguments.length ? this.each(t == null ? dC : (typeof t == "function" ? pC : gC)(t)) : this.node().innerHTML; } function yC() { this.nextSibling && this.parentNode.appendChild(this); } function mC() { return this.each(yC); } function bC() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); } function wC() { return this.each(bC); } function SC(t) { var r = typeof t == "function" ? t : pS(t); return this.select(function() { return this.appendChild(r.apply(this, arguments)); }); } function xC() { return null; } function EC(t, r) { var e = typeof t == "function" ? t : pS(t), n = r == null ? xC : typeof r == "function" ? r : Cv(r); return this.select(function() { return this.insertBefore(e.apply(this, arguments), n.apply(this, arguments) || null); }); } function TC() { var t = this.parentNode; t && t.removeChild(this); } function IC() { return this.each(TC); } function OC() { var t = this.cloneNode(!1), r = this.parentNode; return r ? r.insertBefore(t, this.nextSibling) : t; } function AC() { var t = this.cloneNode(!0), r = this.parentNode; return r ? r.insertBefore(t, this.nextSibling) : t; } function RC(t) { return this.select(t ? AC : OC); } function _C(t) { return arguments.length ? this.property("__data__", t) : this.node().__data__; } function CC(t) { return function(r) { t.call(this, r, this.__data__); }; } function PC(t) { return t.trim().split(/^|\s+/).map(function(r) { var e = "", n = r.indexOf("."); return n >= 0 && (e = r.slice(n + 1), r = r.slice(0, n)), { type: r, name: e }; }); } function MC(t) { return function() { var r = this.__on; if (r) { for (var e = 0, n = -1, a = r.length, i; e < a; ++e) i = r[e], (!t.type || i.type === t.type) && i.name === t.name ? this.removeEventListener(i.type, i.listener, i.options) : r[++n] = i; ++n ? r.length = n : delete this.__on; } }; } function NC(t, r, e) { return function() { var n = this.__on, a, i = CC(r); if (n) { for (var o = 0, s = n.length; o < s; ++o) if ((a = n[o]).type === t.type && a.name === t.name) { this.removeEventListener(a.type, a.listener, a.options), this.addEventListener(a.type, a.listener = i, a.options = e), a.value = r; return; } } this.addEventListener(t.type, i, e), a = { type: t.type, name: t.name, value: r, listener: i, options: e }, n ? n.push(a) : this.__on = [a]; }; } function DC(t, r, e) { var n = PC(t + ""), a, i = n.length, o; if (arguments.length < 2) { var s = this.node().__on; if (s) { for (var u = 0, l = s.length, c; u < l; ++u) for (a = 0, c = s[u]; a < i; ++a) if ((o = n[a]).type === c.type && o.name === c.name) return c.value; } return; } for (s = r ? NC : MC, a = 0; a < i; ++a) this.each(s(n[a], r, e)); return this; } function OS(t, r, e) { var n = SS(t), a = n.CustomEvent; typeof a == "function" ? a = new a(r, e) : (a = n.document.createEvent("Event"), e ? (a.initEvent(r, e.bubbles, e.cancelable), a.detail = e.detail) : a.initEvent(r, !1, !1)), t.dispatchEvent(a); } function LC(t, r) { return function() { return OS(this, t, r); }; } function FC(t, r) { return function() { return OS(this, t, r.apply(this, arguments)); }; } function kC(t, r) { return this.each((typeof r == "function" ? FC : LC)(t, r)); } function* BC() { for (var t = this._groups, r = 0, e = t.length; r < e; ++r) for (var n = t[r], a = 0, i = n.length, o; a < i; ++a) (o = n[a]) && (yield o); } var Mv = [null]; function At(t, r) { this._groups = t, this._parents = r; } function wi() { return new At([[document.documentElement]], Mv); } function jC() { return this; } At.prototype = wi.prototype = { constructor: At, select: v_, selectAll: p_, selectChild: b_, selectChildren: E_, filter: T_, data: C_, enter: I_, exit: M_, join: N_, merge: D_, selection: jC, order: L_, sort: F_, call: B_, nodes: j_, node: U_, size: z_, empty: V_, each: H_, attr: J_, style: rC, property: iC, classed: lC, text: vC, html: $C, raise: mC, lower: wC, append: SC, insert: EC, remove: IC, clone: RC, datum: _C, on: DC, dispatch: kC, [Symbol.iterator]: BC }; function dt(t) { return typeof t == "string" ? new At([[document.querySelector(t)]], [document.documentElement]) : new At([[t]], Mv); } function UC(t) { let r; for (; r = t.sourceEvent; ) t = r; return t; } function we(t, r) { if (t = UC(t), r === void 0 && (r = t.currentTarget), r) { var e = r.ownerSVGElement || r; if (e.createSVGPoint) { var n = e.createSVGPoint(); return n.x = t.clientX, n.y = t.clientY, n = n.matrixTransform(r.getScreenCTM().inverse()), [n.x, n.y]; } if (r.getBoundingClientRect) { var a = r.getBoundingClientRect(); return [t.clientX - a.left - r.clientLeft, t.clientY - a.top - r.clientTop]; } } return [t.pageX, t.pageY]; } function nn(t) { return typeof t == "string" ? new At([document.querySelectorAll(t)], [document.documentElement]) : new At([$S(t)], Mv); } const Xf = { capture: !0, passive: !1 }; function Jf(t) { t.preventDefault(), t.stopImmediatePropagation(); } function zC(t) { var r = t.document.documentElement, e = dt(t).on("dragstart.drag", Jf, Xf); "onselectstart" in r ? e.on("selectstart.drag", Jf, Xf) : (r.__noselect = r.style.MozUserSelect, r.style.MozUserSelect = "none"); } function VC(t, r) { var e = t.document.documentElement, n = dt(t).on("dragstart.drag", null); r && (n.on("click.drag", Jf, Xf), setTimeout(function() { n.on("click.drag", null); }, 0)), "onselectstart" in e ? n.on("selectstart.drag", null) : (e.style.MozUserSelect = e.__noselect, delete e.__noselect); } function Si(t, r, e) { t.prototype = r.prototype = e, e.constructor = t; } function vu(t, r) { var e = Object.create(t.prototype); for (var n in r) e[n] = r[n]; return e; } function He() { } var oi = 0.7, Ts = 1 / oi, An = "\\s*([+-]?\\d+)\\s*", si = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", Ir = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", HC = /^#([0-9a-f]{3,8})$/, GC = new RegExp(`^rgb\\(${An},${An},${An}\\)$`), WC = new RegExp(`^rgb\\(${Ir},${Ir},${Ir}\\)$`), qC = new RegExp(`^rgba\\(${An},${An},${An},${si}\\)$`), YC = new RegExp(`^rgba\\(${Ir},${Ir},${Ir},${si}\\)$`), KC = new RegExp(`^hsl\\(${si},${Ir},${Ir}\\)$`), XC = new RegExp(`^hsla\\(${si},${Ir},${Ir},${si}\\)$`), ap = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, darkkhaki: 12433259, darkmagenta: 9109643, darkolivegreen: 5597999, darkorange: 16747520, darkorchid: 10040012, darkred: 9109504, darksalmon: 15308410, darkseagreen: 9419919, darkslateblue: 4734347, darkslategray: 3100495, darkslategrey: 3100495, darkturquoise: 52945, darkviolet: 9699539, deeppink: 16716947, deepskyblue: 49151, dimgray: 6908265, dimgrey: 6908265, dodgerblue: 2003199, firebrick: 11674146, floralwhite: 16775920, forestgreen: 2263842, fuchsia: 16711935, gainsboro: 14474460, ghostwhite: 16316671, gold: 16766720, goldenrod: 14329120, gray: 8421504, green: 32768, greenyellow: 11403055, grey: 8421504, honeydew: 15794160, hotpink: 16738740, indianred: 13458524, indigo: 4915330, ivory: 16777200, khaki: 15787660, lavender: 15132410, lavenderblush: 16773365, lawngreen: 8190976, lemonchiffon: 16775885, lightblue: 11393254, lightcoral: 15761536, lightcyan: 14745599, lightgoldenrodyellow: 16448210, lightgray: 13882323, lightgreen: 9498256, lightgrey: 13882323, lightpink: 16758465, lightsalmon: 16752762, lightseagreen: 2142890, lightskyblue: 8900346, lightslategray: 7833753, lightslategrey: 7833753, lightsteelblue: 11584734, lightyellow: 16777184, lime: 65280, limegreen: 3329330, linen: 16445670, magenta: 16711935, maroon: 8388608, mediumaquamarine: 6737322, mediumblue: 205, mediumorchid: 12211667, mediumpurple: 9662683, mediumseagreen: 3978097, mediumslateblue: 8087790, mediumspringgreen: 64154, mediumturquoise: 4772300, mediumvioletred: 13047173, midnightblue: 1644912, mintcream: 16121850, mistyrose: 16770273, moccasin: 16770229, navajowhite: 16768685, navy: 128, oldlace: 16643558, olive: 8421376, olivedrab: 7048739, orange: 16753920, orangered: 16729344, orchid: 14315734, palegoldenrod: 15657130, palegreen: 10025880, paleturquoise: 11529966, palevioletred: 14381203, papayawhip: 16773077, peachpuff: 16767673, peru: 13468991, pink: 16761035, plum: 14524637, powderblue: 11591910, purple: 8388736, rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, saddlebrown: 9127187, salmon: 16416882, sandybrown: 16032864, seagreen: 3050327, seashell: 16774638, sienna: 10506797, silver: 12632256, skyblue: 8900331, slateblue: 6970061, slategray: 7372944, slategrey: 7372944, snow: 16775930, springgreen: 65407, steelblue: 4620980, tan: 13808780, teal: 32896, thistle: 14204888, tomato: 16737095, turquoise: 4251856, violet: 15631086, wheat: 16113331, white: 16777215, whitesmoke: 16119285, yellow: 16776960, yellowgreen: 10145074 }; Si(He, ke, { copy(t) { return Object.assign(new this.constructor(), this, t); }, displayable() { return this.rgb().displayable(); }, hex: ip, // Deprecated! Use color.formatHex. formatHex: ip, formatHex8: JC, formatHsl: ZC, formatRgb: op, toString: op }); function ip() { return this.rgb().formatHex(); } function JC() { return this.rgb().formatHex8(); } function ZC() { return RS(this).formatHsl(); } function op() { return this.rgb().formatRgb(); } function ke(t) { var r, e; return t = (t + "").trim().toLowerCase(), (r = HC.exec(t)) ? (e = r[1].length, r = parseInt(r[1], 16), e === 6 ? sp(r) : e === 3 ? new St(r >> 8 & 15 | r >> 4 & 240, r >> 4 & 15 | r & 240, (r & 15) << 4 | r & 15, 1) : e === 8 ? eo(r >> 24 & 255, r >> 16 & 255, r >> 8 & 255, (r & 255) / 255) : e === 4 ? eo(r >> 12 & 15 | r >> 8 & 240, r >> 8 & 15 | r >> 4 & 240, r >> 4 & 15 | r & 240, ((r & 15) << 4 | r & 15) / 255) : null) : (r = GC.exec(t)) ? new St(r[1], r[2], r[3], 1) : (r = WC.exec(t)) ? new St(r[1] * 255 / 100, r[2] * 255 / 100, r[3] * 255 / 100, 1) : (r = qC.exec(t)) ? eo(r[1], r[2], r[3], r[4]) : (r = YC.exec(t)) ? eo(r[1] * 255 / 100, r[2] * 255 / 100, r[3] * 255 / 100, r[4]) : (r = KC.exec(t)) ? cp(r[1], r[2] / 100, r[3] / 100, 1) : (r = XC.exec(t)) ? cp(r[1], r[2] / 100, r[3] / 100, r[4]) : ap.hasOwnProperty(t) ? sp(ap[t]) : t === "transparent" ? new St(NaN, NaN, NaN, 0) : null; } function sp(t) { return new St(t >> 16 & 255, t >> 8 & 255, t & 255, 1); } function eo(t, r, e, n) { return n <= 0 && (t = r = e = NaN), new St(t, r, e, n); } function AS(t) { return t instanceof He || (t = ke(t)), t ? (t = t.rgb(), new St(t.r, t.g, t.b, t.opacity)) : new St(); } function ui(t, r, e, n) { return arguments.length === 1 ? AS(t) : new St(t, r, e, n ?? 1); } function St(t, r, e, n) { this.r = +t, this.g = +r, this.b = +e, this.opacity = +n; } Si(St, ui, vu(He, { brighter(t) { return t = t == null ? Ts : Math.pow(Ts, t), new St(this.r * t, this.g * t, this.b * t, this.opacity); }, darker(t) { return t = t == null ? oi : Math.pow(oi, t), new St(this.r * t, this.g * t, this.b * t, this.opacity); }, rgb() { return this; }, clamp() { return new St(Ne(this.r), Ne(this.g), Ne(this.b), Is(this.opacity)); }, displayable() { return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1; }, hex: up, // Deprecated! Use color.formatHex. formatHex: up, formatHex8: QC, formatRgb: lp, toString: lp })); function up() { return `#${Me(this.r)}${Me(this.g)}${Me(this.b)}`; } function QC() { return `#${Me(this.r)}${Me(this.g)}${Me(this.b)}${Me((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; } function lp() { const t = Is(this.opacity); return `${t === 1 ? "rgb(" : "rgba("}${Ne(this.r)}, ${Ne(this.g)}, ${Ne(this.b)}${t === 1 ? ")" : `, ${t})`}`; } function Is(t) { return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); } function Ne(t) { return Math.max(0, Math.min(255, Math.round(t) || 0)); } function Me(t) { return t = Ne(t), (t < 16 ? "0" : "") + t.toString(16); } function cp(t, r, e, n) { return n <= 0 ? t = r = e = NaN : e <= 0 || e >= 1 ? t = r = NaN : r <= 0 && (t = NaN), new cr(t, r, e, n); } function RS(t) { if (t instanceof cr) return new cr(t.h, t.s, t.l, t.opacity); if (t instanceof He || (t = ke(t)), !t) return new cr(); if (t instanceof cr) return t; t = t.rgb(); var r = t.r / 255, e = t.g / 255, n = t.b / 255, a = Math.min(r, e, n), i = Math.max(r, e, n), o = NaN, s = i - a, u = (i + a) / 2; return s ? (r === i ? o = (e - n) / s + (e < n) * 6 : e === i ? o = (n - r) / s + 2 : o = (r - e) / s + 4, s /= u < 0.5 ? i + a : 2 - i - a, o *= 60) : s = u > 0 && u < 1 ? 0 : o, new cr(o, s, u, t.opacity); } function ja(t, r, e, n) { return arguments.length === 1 ? RS(t) : new cr(t, r, e, n ?? 1); } function cr(t, r, e, n) { this.h = +t, this.s = +r, this.l = +e, this.opacity = +n; } Si(cr, ja, vu(He, { brighter(t) { return t = t == null ? Ts : Math.pow(Ts, t), new cr(this.h, this.s, this.l * t, this.opacity); }, darker(t) { return t = t == null ? oi : Math.pow(oi, t), new cr(this.h, this.s, this.l * t, this.opacity); }, rgb() { var t = this.h % 360 + (this.h < 0) * 360, r = isNaN(t) || isNaN(this.s) ? 0 : this.s, e = this.l, n = e + (e < 0.5 ? e : 1 - e) * r, a = 2 * e - n; return new St( Tl(t >= 240 ? t - 240 : t + 120, a, n), Tl(t, a, n), Tl(t < 120 ? t + 240 : t - 120, a, n), this.opacity ); }, clamp() { return new cr(fp(this.h), no(this.s), no(this.l), Is(this.opacity)); }, displayable() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1; }, formatHsl() { const t = Is(this.opacity); return `${t === 1 ? "hsl(" : "hsla("}${fp(this.h)}, ${no(this.s) * 100}%, ${no(this.l) * 100}%${t === 1 ? ")" : `, ${t})`}`; } })); function fp(t) { return t = (t || 0) % 360, t < 0 ? t + 360 : t; } function no(t) { return Math.max(0, Math.min(1, t || 0)); } function Tl(t, r, e) { return (t < 60 ? r + (e - r) * t / 60 : t < 180 ? e : t < 240 ? r + (e - r) * (240 - t) / 60 : r) * 255; } const t2 = Math.PI / 180, r2 = 180 / Math.PI, Os = 18, _S = 0.96422, CS = 1, PS = 0.82521, MS = 4 / 29, Rn = 6 / 29, NS = 3 * Rn * Rn, e2 = Rn * Rn * Rn; function DS(t) { if (t instanceof Or) return new Or(t.l, t.a, t.b, t.opacity); if (t instanceof jr) return LS(t); t instanceof St || (t = AS(t)); var r = Rl(t.r), e = Rl(t.g), n = Rl(t.b), a = Il((0.2225045 * r + 0.7168786 * e + 0.0606169 * n) / CS), i, o; return r === e && e === n ? i = o = a : (i = Il((0.4360747 * r + 0.3850649 * e + 0.1430804 * n) / _S), o = Il((0.0139322 * r + 0.0971045 * e + 0.7141733 * n) / PS)), new Or(116 * a - 16, 500 * (i - a), 200 * (a - o), t.opacity); } function Be(t, r, e, n) { return arguments.length === 1 ? DS(t) : new Or(t, r, e, n ?? 1); } function Or(t, r, e, n) { this.l = +t, this.a = +r, this.b = +e, this.opacity = +n; } Si(Or, Be, vu(He, { brighter(t) { return new Or(this.l + Os * (t ?? 1), this.a, this.b, this.opacity); }, darker(t) { return new Or(this.l - Os * (t ?? 1), this.a, this.b, this.opacity); }, rgb() { var t = (this.l + 16) / 116, r = isNaN(this.a) ? t : t + this.a / 500, e = isNaN(this.b) ? t : t - this.b / 200; return r = _S * Ol(r), t = CS * Ol(t), e = PS * Ol(e), new St( Al(3.1338561 * r - 1.6168667 * t - 0.4906146 * e), Al(-0.9787684 * r + 1.9161415 * t + 0.033454 * e), Al(0.0719453 * r - 0.2289914 * t + 1.4052427 * e), this.opacity ); } })); function Il(t) { return t > e2 ? Math.pow(t, 1 / 3) : t / NS + MS; } function Ol(t) { return t > Rn ? t * t * t : NS * (t - MS); } function Al(t) { return 255 * (t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055); } function Rl(t) { return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); } function n2(t) { if (t instanceof jr) return new jr(t.h, t.c, t.l, t.opacity); if (t instanceof Or || (t = DS(t)), t.a === 0 && t.b === 0) return new jr(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); var r = Math.atan2(t.b, t.a) * r2; return new jr(r < 0 ? r + 360 : r, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity); } function a2(t, r, e, n) { return arguments.length === 1 ? n2(t) : new jr(t, r, e, n ?? 1); } function jr(t, r, e, n) { this.h = +t, this.c = +r, this.l = +e, this.opacity = +n; } function LS(t) { if (isNaN(t.h)) return new Or(t.l, 0, 0, t.opacity); var r = t.h * t2; return new Or(t.l, Math.cos(r) * t.c, Math.sin(r) * t.c, t.opacity); } Si(jr, a2, vu(He, { brighter(t) { return new jr(this.h, this.c, this.l + Os * (t ?? 1), this.opacity); }, darker(t) { return new jr(this.h, this.c, this.l - Os * (t ?? 1), this.opacity); }, rgb() { return LS(this).rgb(); } })); const Nv = (t) => () => t; function i2(t, r) { return function(e) { return t + e * r; }; } function o2(t, r, e) { return t = Math.pow(t, e), r = Math.pow(r, e) - t, e = 1 / e, function(n) { return Math.pow(t + n * r, e); }; } function s2(t) { return (t = +t) == 1 ? bn : function(r, e) { return e - r ? o2(r, e, t) : Nv(isNaN(r) ? e : r); }; } function bn(t, r) { var e = r - t; return e ? i2(t, e) : Nv(isNaN(t) ? r : t); } const As = function t(r) { var e = s2(r); function n(a, i) { var o = e((a = ui(a)).r, (i = ui(i)).r), s = e(a.g, i.g), u = e(a.b, i.b), l = bn(a.opacity, i.opacity); return function(c) { return a.r = o(c), a.g = s(c), a.b = u(c), a.opacity = l(c), a + ""; }; } return n.gamma = t, n; }(1); function u2(t, r) { r || (r = []); var e = t ? Math.min(r.length, t.length) : 0, n = r.slice(), a; return function(i) { for (a = 0; a < e; ++a) n[a] = t[a] * (1 - i) + r[a] * i; return n; }; } function l2(t) { return ArrayBuffer.isView(t) && !(t instanceof DataView); } function c2(t, r) { var e = r ? r.length : 0, n = t ? Math.min(e, t.length) : 0, a = new Array(n), i = new Array(e), o; for (o = 0; o < n; ++o) a[o] = _n(t[o], r[o]); for (; o < e; ++o) i[o] = r[o]; return function(s) { for (o = 0; o < n; ++o) i[o] = a[o](s); return i; }; } function f2(t, r) { var e = /* @__PURE__ */ new Date(); return t = +t, r = +r, function(n) { return e.setTime(t * (1 - n) + r * n), e; }; } function ur(t, r) { return t = +t, r = +r, function(e) { return t * (1 - e) + r * e; }; } function h2(t, r) { var e = {}, n = {}, a; (t === null || typeof t != "object") && (t = {}), (r === null || typeof r != "object") && (r = {}); for (a in r) a in t ? e[a] = _n(t[a], r[a]) : n[a] = r[a]; return function(i) { for (a in e) n[a] = e[a](i); return n; }; } var Zf = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, _l = new RegExp(Zf.source, "g"); function v2(t) { return function() { return t; }; } function d2(t) { return function(r) { return t(r) + ""; }; } function FS(t, r) { var e = Zf.lastIndex = _l.lastIndex = 0, n, a, i, o = -1, s = [], u = []; for (t = t + "", r = r + ""; (n = Zf.exec(t)) && (a = _l.exec(r)); ) (i = a.index) > e && (i = r.slice(e, i), s[o] ? s[o] += i : s[++o] = i), (n = n[0]) === (a = a[0]) ? s[o] ? s[o] += a : s[++o] = a : (s[++o] = null, u.push({ i: o, x: ur(n, a) })), e = _l.lastIndex; return e < r.length && (i = r.slice(e), s[o] ? s[o] += i : s[++o] = i), s.length < 2 ? u[0] ? d2(u[0].x) : v2(r) : (r = u.length, function(l) { for (var c = 0, f; c < r; ++c) s[(f = u[c]).i] = f.x(l); return s.join(""); }); } function _n(t, r) { var e = typeof r, n; return r == null || e === "boolean" ? Nv(r) : (e === "number" ? ur : e === "string" ? (n = ke(r)) ? (r = n, As) : FS : r instanceof ke ? As : r instanceof Date ? f2 : l2(r) ? u2 : Array.isArray(r) ? c2 : typeof r.valueOf != "function" && typeof r.toString != "function" || isNaN(r) ? h2 : ur)(t, r); } function g2(t, r) { return t = +t, r = +r, function(e) { return Math.round(t * (1 - e) + r * e); }; } var hp = 180 / Math.PI, Qf = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function kS(t, r, e, n, a, i) { var o, s, u; return (o = Math.sqrt(t * t + r * r)) && (t /= o, r /= o), (u = t * e + r * n) && (e -= t * u, n -= r * u), (s = Math.sqrt(e * e + n * n)) && (e /= s, n /= s, u /= s), t * n < r * e && (t = -t, r = -r, u = -u, o = -o), { translateX: a, translateY: i, rotate: Math.atan2(r, t) * hp, skewX: Math.atan(u) * hp, scaleX: o, scaleY: s }; } var ao; function p2(t) { const r = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + ""); return r.isIdentity ? Qf : kS(r.a, r.b, r.c, r.d, r.e, r.f); } function $2(t) { return t == null || (ao || (ao = document.createElementNS("http://www.w3.org/2000/svg", "g")), ao.setAttribute("transform", t), !(t = ao.transform.baseVal.consolidate())) ? Qf : (t = t.matrix, kS(t.a, t.b, t.c, t.d, t.e, t.f)); } function BS(t, r, e, n) { function a(l) { return l.length ? l.pop() + " " : ""; } function i(l, c, f, h, v, d) { if (l !== f || c !== h) { var $ = v.push("translate(", null, r, null, e); d.push({ i: $ - 4, x: ur(l, f) }, { i: $ - 2, x: ur(c, h) }); } else (f || h) && v.push("translate(" + f + r + h + e); } function o(l, c, f, h) { l !== c ? (l - c > 180 ? c += 360 : c - l > 180 && (l += 360), h.push({ i: f.push(a(f) + "rotate(", null, n) - 2, x: ur(l, c) })) : c && f.push(a(f) + "rotate(" + c + n); } function s(l, c, f, h) { l !== c ? h.push({ i: f.push(a(f) + "skewX(", null, n) - 2, x: ur(l, c) }) : c && f.push(a(f) + "skewX(" + c + n); } function u(l, c, f, h, v, d) { if (l !== f || c !== h) { var $ = v.push(a(v) + "scale(", null, ",", null, ")"); d.push({ i: $ - 4, x: ur(l, f) }, { i: $ - 2, x: ur(c, h) }); } else (f !== 1 || h !== 1) && v.push(a(v) + "scale(" + f + "," + h + ")"); } return function(l, c) { var f = [], h = []; return l = t(l), c = t(c), i(l.translateX, l.translateY, c.translateX, c.translateY, f, h), o(l.rotate, c.rotate, f, h), s(l.skewX, c.skewX, f, h), u(l.scaleX, l.scaleY, c.scaleX, c.scaleY, f, h), l = c = null, function(v) { for (var d = -1, $ = h.length, y; ++d < $; ) f[(y = h[d]).i] = y.x(v); return f.join(""); }; }; } var y2 = BS(p2, "px, ", "px)", "deg)"), m2 = BS($2, ", ", ")", ")"), b2 = 1e-12; function vp(t) { return ((t = Math.exp(t)) + 1 / t) / 2; } function w2(t) { return ((t = Math.exp(t)) - 1 / t) / 2; } function S2(t) { return ((t = Math.exp(2 * t)) - 1) / (t + 1); } const x2 = function t(r, e, n) { function a(i, o) { var s = i[0], u = i[1], l = i[2], c = o[0], f = o[1], h = o[2], v = c - s, d = f - u, $ = v * v + d * d, y, p; if ($ < b2) p = Math.log(h / l) / r, y = function(H) { return [ s + H * v, u + H * d, l * Math.exp(r * H * p) ]; }; else { var b = Math.sqrt($), I = (h * h - l * l + n * $) / (2 * l * e * b), _ = (h * h - l * l - n * $) / (2 * h * e * b), M = Math.log(Math.sqrt(I * I + 1) - I), B = Math.log(Math.sqrt(_ * _ + 1) - _); p = (B - M) / r, y = function(H) { var q = H * p, Z = vp(M), nt = l / (e * b) * (Z * S2(r * q + M) - w2(M)); return [ s + nt * v, u + nt * d, l * Z / vp(r * q + M) ]; }; } return y.duration = p * 1e3 * r / Math.SQRT2, y; } return a.rho = function(i) { var o = Math.max(1e-3, +i), s = o * o, u = s * s; return t(o, s, u); }, a; }(Math.SQRT2, 2, 4); function Dv(t, r) { var e = bn((t = Be(t)).l, (r = Be(r)).l), n = bn(t.a, r.a), a = bn(t.b, r.b), i = bn(t.opacity, r.opacity); return function(o) { return t.l = e(o), t.a = n(o), t.b = a(o), t.opacity = i(o), t + ""; }; } var jn = 0, Ua = 0, ba = 0, jS = 1e3, Rs, za, _s = 0, je = 0, du = 0, li = typeof performance == "object" && performance.now ? performance : Date, US = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(t) { setTimeout(t, 17); }; function Lv() { return je || (US(E2), je = li.now() + du); } function E2() { je = 0; } function Cs() { this._call = this._time = this._next = null; } Cs.prototype = zS.prototype = { constructor: Cs, restart: function(t, r, e) { if (typeof t != "function") throw new TypeError("callback is not a function"); e = (e == null ? Lv() : +e) + (r == null ? 0 : +r), !this._next && za !== this && (za ? za._next = this : Rs = this, za = this), this._call = t, this._time = e, th(); }, stop: function() { this._call && (this._call = null, this._time = 1 / 0, th()); } }; function zS(t, r, e) { var n = new Cs(); return n.restart(t, r, e), n; } function T2() { Lv(), ++jn; for (var t = Rs, r; t; ) (r = je - t._time) >= 0 && t._call.call(void 0, r), t = t._next; --jn; } function dp() { je = (_s = li.now()) + du, jn = Ua = 0; try { T2(); } finally { jn = 0, O2(), je = 0; } } function I2() { var t = li.now(), r = t - _s; r > jS && (du -= r, _s = t); } function O2() { for (var t, r = Rs, e, n = 1 / 0; r; ) r._call ? (n > r._time && (n = r._time), t = r, r = r._next) : (e = r._next, r._next = null, r = t ? t._next = e : Rs = e); za = t, th(n); } function th(t) { if (!jn) { Ua && (Ua = clearTimeout(Ua)); var r = t - je; r > 24 ? (t < 1 / 0 && (Ua = setTimeout(dp, t - li.now() - du)), ba && (ba = clearInterval(ba))) : (ba || (_s = li.now(), ba = setInterval(I2, jS)), jn = 1, US(dp)); } } function gp(t, r, e) { var n = new Cs(); return r = r == null ? 0 : +r, n.restart((a) => { n.stop(), t(a + r); }, r, e), n; } var A2 = _v("start", "end", "cancel", "interrupt"), R2 = [], VS = 0, pp = 1, rh = 2, es = 3, $p = 4, eh = 5, ns = 6; function gu(t, r, e, n, a, i) { var o = t.__transition; if (!o) t.__transition = {}; else if (e in o) return; _2(t, e, { name: r, index: n, // For context during callback. group: a, // For context during callback. on: A2, tween: R2, time: i.time, delay: i.delay, duration: i.duration, ease: i.ease, timer: null, state: VS }); } function Fv(t, r) { var e = dr(t, r); if (e.state > VS) throw new Error("too late; already scheduled"); return e; } function Rr(t, r) { var e = dr(t, r); if (e.state > es) throw new Error("too late; already running"); return e; } function dr(t, r) { var e = t.__transition; if (!e || !(e = e[r])) throw new Error("transition not found"); return e; } function _2(t, r, e) { var n = t.__transition, a; n[r] = e, e.timer = zS(i, 0, e.time); function i(l) { e.state = pp, e.timer.restart(o, e.delay, e.time), e.delay <= l && o(l - e.delay); } function o(l) { var c, f, h, v; if (e.state !== pp) return u(); for (c in n) if (v = n[c], v.name === e.name) { if (v.state === es) return gp(o); v.state === $p ? (v.state = ns, v.timer.stop(), v.on.call("interrupt", t, t.__data__, v.index, v.group), delete n[c]) : +c < r && (v.state = ns, v.timer.stop(), v.on.call("cancel", t, t.__data__, v.index, v.group), delete n[c]); } if (gp(function() { e.state === es && (e.state = $p, e.timer.restart(s, e.delay, e.time), s(l)); }), e.state = rh, e.on.call("start", t, t.__data__, e.index, e.group), e.state === rh) { for (e.state = es, a = new Array(h = e.tween.length), c = 0, f = -1; c < h; ++c) (v = e.tween[c].value.call(t, t.__data__, e.index, e.group)) && (a[++f] = v); a.length = f + 1; } } function s(l) { for (var c = l < e.duration ? e.ease.call(null, l / e.duration) : (e.timer.restart(u), e.state = eh, 1), f = -1, h = a.length; ++f < h; ) a[f].call(t, c); e.state === eh && (e.on.ca