var To = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function rh(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } var yi = {}, ko = { get exports() { return yi; }, set exports(t) { yi = t; } }; (function(t, e) { (function(i, r) { t.exports = r(); })(To, function() { var i = 1e3, r = 6e4, o = 36e5, n = "millisecond", s = "second", l = "minute", h = "hour", u = "day", f = "week", g = "month", x = "quarter", _ = "year", M = "date", $ = "Invalid Date", K = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, It = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, nt = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(k) { var y = ["th", "st", "nd", "rd"], p = k % 100; return "[" + k + (y[(p - 20) % 10] || y[p] || y[0]) + "]"; } }, Q = function(k, y, p) { var B = String(k); return !B || B.length >= y ? k : "" + Array(y + 1 - B.length).join(p) + k; }, H = { s: Q, z: function(k) { var y = -k.utcOffset(), p = Math.abs(y), B = Math.floor(p / 60), b = p % 60; return (y <= 0 ? "+" : "-") + Q(B, 2, "0") + ":" + Q(b, 2, "0"); }, m: function k(y, p) { if (y.date() < p.date()) return -k(p, y); var B = 12 * (p.year() - y.year()) + (p.month() - y.month()), b = y.clone().add(B, g), F = p - b < 0, w = y.clone().add(B + (F ? -1 : 1), g); return +(-(B + (p - b) / (F ? b - w : w - b)) || 0); }, a: function(k) { return k < 0 ? Math.ceil(k) || 0 : Math.floor(k); }, p: function(k) { return { M: g, y: _, w: f, d: u, D: M, h, m: l, s, ms: n, Q: x }[k] || String(k || "").toLowerCase().replace(/s$/, ""); }, u: function(k) { return k === void 0; } }, at = "en", lt = {}; lt[at] = nt; var Dt = function(k) { return k instanceof qt; }, Ht = function k(y, p, B) { var b; if (!y) return at; if (typeof y == "string") { var F = y.toLowerCase(); lt[F] && (b = F), p && (lt[F] = p, b = F); var w = y.split("-"); if (!b && w.length > 1) return k(w[0]); } else { var O = y.name; lt[O] = y, b = O; } return !B && b && (at = b), b || !B && at; }, P = function(k, y) { if (Dt(k)) return k.clone(); var p = typeof y == "object" ? y : {}; return p.date = k, p.args = arguments, new qt(p); }, D = H; D.l = Ht, D.i = Dt, D.w = function(k, y) { return P(k, { locale: y.$L, utc: y.$u, x: y.$x, $offset: y.$offset }); }; var qt = function() { function k(p) { this.$L = Ht(p.locale, null, !0), this.parse(p); } var y = k.prototype; return y.parse = function(p) { this.$d = function(B) { var b = B.date, F = B.utc; if (b === null) return new Date(NaN); if (D.u(b)) return new Date(); if (b instanceof Date) return new Date(b); if (typeof b == "string" && !/Z$/i.test(b)) { var w = b.match(K); if (w) { var O = w[2] - 1 || 0, z = (w[7] || "0").substring(0, 3); return F ? new Date(Date.UTC(w[1], O, w[3] || 1, w[4] || 0, w[5] || 0, w[6] || 0, z)) : new Date(w[1], O, w[3] || 1, w[4] || 0, w[5] || 0, w[6] || 0, z); } } return new Date(b); }(p), this.$x = p.x || {}, this.init(); }, y.init = function() { var p = this.$d; this.$y = p.getFullYear(), this.$M = p.getMonth(), this.$D = p.getDate(), this.$W = p.getDay(), this.$H = p.getHours(), this.$m = p.getMinutes(), this.$s = p.getSeconds(), this.$ms = p.getMilliseconds(); }, y.$utils = function() { return D; }, y.isValid = function() { return this.$d.toString() !== $; }, y.isSame = function(p, B) { var b = P(p); return this.startOf(B) <= b && b <= this.endOf(B); }, y.isAfter = function(p, B) { return P(p) < this.startOf(B); }, y.isBefore = function(p, B) { return this.endOf(B) < P(p); }, y.$g = function(p, B, b) { return D.u(p) ? this[B] : this.set(b, p); }, y.unix = function() { return Math.floor(this.valueOf() / 1e3); }, y.valueOf = function() { return this.$d.getTime(); }, y.startOf = function(p, B) { var b = this, F = !!D.u(B) || B, w = D.p(p), O = function(_t, G) { var ct = D.w(b.$u ? Date.UTC(b.$y, G, _t) : new Date(b.$y, G, _t), b); return F ? ct : ct.endOf(u); }, z = function(_t, G) { return D.w(b.toDate()[_t].apply(b.toDate("s"), (F ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(G)), b); }, E = this.$W, W = this.$M, R = this.$D, ht = "set" + (this.$u ? "UTC" : ""); switch (w) { case _: return F ? O(1, 0) : O(31, 11); case g: return F ? O(1, W) : O(0, W + 1); case f: var N = this.$locale().weekStart || 0, dt = (E < N ? E + 7 : E) - N; return O(F ? R - dt : R + (6 - dt), W); case u: case M: return z(ht + "Hours", 0); case h: return z(ht + "Minutes", 1); case l: return z(ht + "Seconds", 2); case s: return z(ht + "Milliseconds", 3); default: return this.clone(); } }, y.endOf = function(p) { return this.startOf(p, !1); }, y.$set = function(p, B) { var b, F = D.p(p), w = "set" + (this.$u ? "UTC" : ""), O = (b = {}, b[u] = w + "Date", b[M] = w + "Date", b[g] = w + "Month", b[_] = w + "FullYear", b[h] = w + "Hours", b[l] = w + "Minutes", b[s] = w + "Seconds", b[n] = w + "Milliseconds", b)[F], z = F === u ? this.$D + (B - this.$W) : B; if (F === g || F === _) { var E = this.clone().set(M, 1); E.$d[O](z), E.init(), this.$d = E.set(M, Math.min(this.$D, E.daysInMonth())).$d; } else O && this.$d[O](z); return this.init(), this; }, y.set = function(p, B) { return this.clone().$set(p, B); }, y.get = function(p) { return this[D.p(p)](); }, y.add = function(p, B) { var b, F = this; p = Number(p); var w = D.p(B), O = function(W) { var R = P(F); return D.w(R.date(R.date() + Math.round(W * p)), F); }; if (w === g) return this.set(g, this.$M + p); if (w === _) return this.set(_, this.$y + p); if (w === u) return O(1); if (w === f) return O(7); var z = (b = {}, b[l] = r, b[h] = o, b[s] = i, b)[w] || 1, E = this.$d.getTime() + p * z; return D.w(E, this); }, y.subtract = function(p, B) { return this.add(-1 * p, B); }, y.format = function(p) { var B = this, b = this.$locale(); if (!this.isValid()) return b.invalidDate || $; var F = p || "YYYY-MM-DDTHH:mm:ssZ", w = D.z(this), O = this.$H, z = this.$m, E = this.$M, W = b.weekdays, R = b.months, ht = function(G, ct, Ut, gt) { return G && (G[ct] || G(B, F)) || Ut[ct].slice(0, gt); }, N = function(G) { return D.s(O % 12 || 12, G, "0"); }, dt = b.meridiem || function(G, ct, Ut) { var gt = G < 12 ? "AM" : "PM"; return Ut ? gt.toLowerCase() : gt; }, _t = { YY: String(this.$y).slice(-2), YYYY: this.$y, M: E + 1, MM: D.s(E + 1, 2, "0"), MMM: ht(b.monthsShort, E, R, 3), MMMM: ht(R, E), D: this.$D, DD: D.s(this.$D, 2, "0"), d: String(this.$W), dd: ht(b.weekdaysMin, this.$W, W, 2), ddd: ht(b.weekdaysShort, this.$W, W, 3), dddd: W[this.$W], H: String(O), HH: D.s(O, 2, "0"), h: N(1), hh: N(2), a: dt(O, z, !0), A: dt(O, z, !1), m: String(z), mm: D.s(z, 2, "0"), s: String(this.$s), ss: D.s(this.$s, 2, "0"), SSS: D.s(this.$ms, 3, "0"), Z: w }; return F.replace(It, function(G, ct) { return ct || _t[G] || w.replace(":", ""); }); }, y.utcOffset = function() { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); }, y.diff = function(p, B, b) { var F, w = D.p(B), O = P(p), z = (O.utcOffset() - this.utcOffset()) * r, E = this - O, W = D.m(this, O); return W = (F = {}, F[_] = W / 12, F[g] = W, F[x] = W / 3, F[f] = (E - z) / 6048e5, F[u] = (E - z) / 864e5, F[h] = E / o, F[l] = E / r, F[s] = E / i, F)[w] || E, b ? W : D.a(W); }, y.daysInMonth = function() { return this.endOf(g).$D; }, y.$locale = function() { return lt[this.$L]; }, y.locale = function(p, B) { if (!p) return this.$L; var b = this.clone(), F = Ht(p, B, !0); return F && (b.$L = F), b; }, y.clone = function() { return D.w(this.$d, this); }, y.toDate = function() { return new Date(this.valueOf()); }, y.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, y.toISOString = function() { return this.$d.toISOString(); }, y.toString = function() { return this.$d.toUTCString(); }, k; }(), ee = qt.prototype; return P.prototype = ee, [["$ms", n], ["$s", s], ["$m", l], ["$H", h], ["$W", u], ["$M", g], ["$y", _], ["$D", M]].forEach(function(k) { ee[k[1]] = function(y) { return this.$g(y, k[0], k[1]); }; }), P.extend = function(k, y) { return k.$i || (k(y, qt, P), k.$i = !0), P; }, P.locale = Ht, P.isDayjs = Dt, P.unix = function(k) { return P(1e3 * k); }, P.en = lt[at], P.Ls = lt, P.p = {}, P; }); })(ko); const So = yi, vt = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, et = { trace: (...t) => { }, debug: (...t) => { }, info: (...t) => { }, warn: (...t) => { }, error: (...t) => { }, fatal: (...t) => { } }, oh = function(t = "fatal") { let e = vt.fatal; typeof t == "string" ? (t = t.toLowerCase(), t in vt && (e = vt[t])) : typeof t == "number" && (e = t), et.trace = () => { }, et.debug = () => { }, et.info = () => { }, et.warn = () => { }, et.error = () => { }, et.fatal = () => { }, e <= vt.fatal && (et.fatal = console.error ? console.error.bind(console, ut("FATAL"), "color: orange") : console.log.bind(console, "\x1B[35m", ut("FATAL"))), e <= vt.error && (et.error = console.error ? console.error.bind(console, ut("ERROR"), "color: orange") : console.log.bind(console, "\x1B[31m", ut("ERROR"))), e <= vt.warn && (et.warn = console.warn ? console.warn.bind(console, ut("WARN"), "color: orange") : console.log.bind(console, "\x1B[33m", ut("WARN"))), e <= vt.info && (et.info = console.info ? console.info.bind(console, ut("INFO"), "color: lightblue") : console.log.bind(console, "\x1B[34m", ut("INFO"))), e <= vt.debug && (et.debug = console.debug ? console.debug.bind(console, ut("DEBUG"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", ut("DEBUG"))), e <= vt.trace && (et.trace = console.debug ? console.debug.bind(console, ut("TRACE"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", ut("TRACE"))); }, ut = (t) => `%c${So().format("ss.SSS")} : ${t} : `; var Bo = { value: () => { } }; function wr() { for (var t = 0, e = arguments.length, i = {}, r; t < e; ++t) { if (!(r = arguments[t] + "") || r in i || /[\s.]/.test(r)) throw new Error("illegal type: " + r); i[r] = []; } return new Ae(i); } function Ae(t) { this._ = t; } function vo(t, e) { return t.trim().split(/^|\s+/).map(function(i) { var r = "", o = i.indexOf("."); if (o >= 0 && (r = i.slice(o + 1), i = i.slice(0, o)), i && !e.hasOwnProperty(i)) throw new Error("unknown type: " + i); return { type: i, name: r }; }); } Ae.prototype = wr.prototype = { constructor: Ae, on: function(t, e) { var i = this._, r = vo(t + "", i), o, n = -1, s = r.length; if (arguments.length < 2) { for (; ++n < s; ) if ((o = (t = r[n]).type) && (o = wo(i[o], t.name))) return o; return; } if (e != null && typeof e != "function") throw new Error("invalid callback: " + e); for (; ++n < s; ) if (o = (t = r[n]).type) i[o] = ir(i[o], t.name, e); else if (e == null) for (o in i) i[o] = ir(i[o], t.name, null); return this; }, copy: function() { var t = {}, e = this._; for (var i in e) t[i] = e[i].slice(); return new Ae(t); }, call: function(t, e) { if ((o = arguments.length - 2) > 0) for (var i = new Array(o), r = 0, o, n; r < o; ++r) i[r] = arguments[r + 2]; if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (n = this._[t], r = 0, o = n.length; r < o; ++r) n[r].value.apply(e, i); }, apply: function(t, e, i) { if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (var r = this._[t], o = 0, n = r.length; o < n; ++o) r[o].value.apply(e, i); } }; function wo(t, e) { for (var i = 0, r = t.length, o; i < r; ++i) if ((o = t[i]).name === e) return o.value; } function ir(t, e, i) { for (var r = 0, o = t.length; r < o; ++r) if (t[r].name === e) { t[r] = Bo, t = t.slice(0, r).concat(t.slice(r + 1)); break; } return i != null && t.push({ name: e, value: i }), t; } var bi = "http://www.w3.org/1999/xhtml"; const rr = { svg: "http://www.w3.org/2000/svg", xhtml: bi, xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/" }; function Ve(t) { var e = t += "", i = e.indexOf(":"); return i >= 0 && (e = t.slice(0, i)) !== "xmlns" && (t = t.slice(i + 1)), rr.hasOwnProperty(e) ? { space: rr[e], local: t } : t; } function Lo(t) { return function() { var e = this.ownerDocument, i = this.namespaceURI; return i === bi && e.documentElement.namespaceURI === bi ? e.createElement(t) : e.createElementNS(i, t); }; } function Fo(t) { return function() { return this.ownerDocument.createElementNS(t.space, t.local); }; } function Lr(t) { var e = Ve(t); return (e.local ? Fo : Lo)(e); } function Eo() { } function Mi(t) { return t == null ? Eo : function() { return this.querySelector(t); }; } function Ao(t) { typeof t != "function" && (t = Mi(t)); for (var e = this._groups, i = e.length, r = new Array(i), o = 0; o < i; ++o) for (var n = e[o], s = n.length, l = r[o] = new Array(s), h, u, f = 0; f < s; ++f) (h = n[f]) && (u = t.call(h, h.__data__, f, n)) && ("__data__" in h && (u.__data__ = h.__data__), l[f] = u); return new st(r, this._parents); } function Mo(t) { return t == null ? [] : Array.isArray(t) ? t : Array.from(t); } function Oo() { return []; } function Fr(t) { return t == null ? Oo : function() { return this.querySelectorAll(t); }; } function Io(t) { return function() { return Mo(t.apply(this, arguments)); }; } function Do(t) { typeof t == "function" ? t = Io(t) : t = Fr(t); for (var e = this._groups, i = e.length, r = [], o = [], n = 0; n < i; ++n) for (var s = e[n], l = s.length, h, u = 0; u < l; ++u) (h = s[u]) && (r.push(t.call(h, h.__data__, u, s)), o.push(h)); return new st(r, o); } function Er(t) { return function() { return this.matches(t); }; } function Ar(t) { return function(e) { return e.matches(t); }; } var Ro = Array.prototype.find; function No(t) { return function() { return Ro.call(this.children, t); }; } function $o() { return this.firstElementChild; } function zo(t) { return this.select(t == null ? $o : No(typeof t == "function" ? t : Ar(t))); } var Po = Array.prototype.filter; function Wo() { return Array.from(this.children); } function Ho(t) { return function() { return Po.call(this.children, t); }; } function qo(t) { return this.selectAll(t == null ? Wo : Ho(typeof t == "function" ? t : Ar(t))); } function Uo(t) { typeof t != "function" && (t = Er(t)); for (var e = this._groups, i = e.length, r = new Array(i), o = 0; o < i; ++o) for (var n = e[o], s = n.length, l = r[o] = [], h, u = 0; u < s; ++u) (h = n[u]) && t.call(h, h.__data__, u, n) && l.push(h); return new st(r, this._parents); } function Mr(t) { return new Array(t.length); } function Go() { return new st(this._enter || this._groups.map(Mr), this._parents); } function ze(t, e) { this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = e; } ze.prototype = { constructor: ze, appendChild: function(t) { return this._parent.insertBefore(t, this._next); }, insertBefore: function(t, e) { return this._parent.insertBefore(t, e); }, querySelector: function(t) { return this._parent.querySelector(t); }, querySelectorAll: function(t) { return this._parent.querySelectorAll(t); } }; function Vo(t) { return function() { return t; }; } function Yo(t, e, i, r, o, n) { for (var s = 0, l, h = e.length, u = n.length; s < u; ++s) (l = e[s]) ? (l.__data__ = n[s], r[s] = l) : i[s] = new ze(t, n[s]); for (; s < h; ++s) (l = e[s]) && (o[s] = l); } function Xo(t, e, i, r, o, n, s) { var l, h, u = /* @__PURE__ */ new Map(), f = e.length, g = n.length, x = new Array(f), _; for (l = 0; l < f; ++l) (h = e[l]) && (x[l] = _ = s.call(h, h.__data__, l, e) + "", u.has(_) ? o[l] = h : u.set(_, h)); for (l = 0; l < g; ++l) _ = s.call(t, n[l], l, n) + "", (h = u.get(_)) ? (r[l] = h, h.__data__ = n[l], u.delete(_)) : i[l] = new ze(t, n[l]); for (l = 0; l < f; ++l) (h = e[l]) && u.get(x[l]) === h && (o[l] = h); } function Ko(t) { return t.__data__; } function jo(t, e) { if (!arguments.length) return Array.from(this, Ko); var i = e ? Xo : Yo, r = this._parents, o = this._groups; typeof t != "function" && (t = Vo(t)); for (var n = o.length, s = new Array(n), l = new Array(n), h = new Array(n), u = 0; u < n; ++u) { var f = r[u], g = o[u], x = g.length, _ = Zo(t.call(f, f && f.__data__, u, r)), M = _.length, $ = l[u] = new Array(M), K = s[u] = new Array(M), It = h[u] = new Array(x); i(f, g, $, K, It, _, e); for (var nt = 0, Q = 0, H, at; nt < M; ++nt) if (H = $[nt]) { for (nt >= Q && (Q = nt + 1); !(at = K[Q]) && ++Q < M; ) ; H._next = at || null; } } return s = new st(s, r), s._enter = l, s._exit = h, s; } function Zo(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function Jo() { return new st(this._exit || this._groups.map(Mr), this._parents); } function Qo(t, e, i) { var r = this.enter(), o = this, n = this.exit(); return typeof t == "function" ? (r = t(r), r && (r = r.selection())) : r = r.append(t + ""), e != null && (o = e(o), o && (o = o.selection())), i == null ? n.remove() : i(n), r && o ? r.merge(o).order() : o; } function tn(t) { for (var e = t.selection ? t.selection() : t, i = this._groups, r = e._groups, o = i.length, n = r.length, s = Math.min(o, n), l = new Array(o), h = 0; h < s; ++h) for (var u = i[h], f = r[h], g = u.length, x = l[h] = new Array(g), _, M = 0; M < g; ++M) (_ = u[M] || f[M]) && (x[M] = _); for (; h < o; ++h) l[h] = i[h]; return new st(l, this._parents); } function en() { for (var t = this._groups, e = -1, i = t.length; ++e < i; ) for (var r = t[e], o = r.length - 1, n = r[o], s; --o >= 0; ) (s = r[o]) && (n && s.compareDocumentPosition(n) ^ 4 && n.parentNode.insertBefore(s, n), n = s); return this; } function rn(t) { t || (t = on); function e(g, x) { return g && x ? t(g.__data__, x.__data__) : !g - !x; } for (var i = this._groups, r = i.length, o = new Array(r), n = 0; n < r; ++n) { for (var s = i[n], l = s.length, h = o[n] = new Array(l), u, f = 0; f < l; ++f) (u = s[f]) && (h[f] = u); h.sort(e); } return new st(o, this._parents).order(); } function on(t, e) { return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function nn() { var t = arguments[0]; return arguments[0] = this, t.apply(null, arguments), this; } function sn() { return Array.from(this); } function an() { for (var t = this._groups, e = 0, i = t.length; e < i; ++e) for (var r = t[e], o = 0, n = r.length; o < n; ++o) { var s = r[o]; if (s) return s; } return null; } function ln() { let t = 0; for (const e of this) ++t; return t; } function hn() { return !this.node(); } function cn(t) { for (var e = this._groups, i = 0, r = e.length; i < r; ++i) for (var o = e[i], n = 0, s = o.length, l; n < s; ++n) (l = o[n]) && t.call(l, l.__data__, n, o); return this; } function un(t) { return function() { this.removeAttribute(t); }; } function fn(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function dn(t, e) { return function() { this.setAttribute(t, e); }; } function gn(t, e) { return function() { this.setAttributeNS(t.space, t.local, e); }; } function pn(t, e) { return function() { var i = e.apply(this, arguments); i == null ? this.removeAttribute(t) : this.setAttribute(t, i); }; } function mn(t, e) { return function() { var i = e.apply(this, arguments); i == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, i); }; } function Cn(t, e) { var i = Ve(t); if (arguments.length < 2) { var r = this.node(); return i.local ? r.getAttributeNS(i.space, i.local) : r.getAttribute(i); } return this.each((e == null ? i.local ? fn : un : typeof e == "function" ? i.local ? mn : pn : i.local ? gn : dn)(i, e)); } function Or(t) { return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView; } function yn(t) { return function() { this.style.removeProperty(t); }; } function bn(t, e, i) { return function() { this.style.setProperty(t, e, i); }; } function _n(t, e, i) { return function() { var r = e.apply(this, arguments); r == null ? this.style.removeProperty(t) : this.style.setProperty(t, r, i); }; } function xn(t, e, i) { return arguments.length > 1 ? this.each((e == null ? yn : typeof e == "function" ? _n : bn)(t, e, i ?? "")) : Jt(this.node(), t); } function Jt(t, e) { return t.style.getPropertyValue(e) || Or(t).getComputedStyle(t, null).getPropertyValue(e); } function Tn(t) { return function() { delete this[t]; }; } function kn(t, e) { return function() { this[t] = e; }; } function Sn(t, e) { return function() { var i = e.apply(this, arguments); i == null ? delete this[t] : this[t] = i; }; } function Bn(t, e) { return arguments.length > 1 ? this.each((e == null ? Tn : typeof e == "function" ? Sn : kn)(t, e)) : this.node()[t]; } function Ir(t) { return t.trim().split(/^|\s+/); } function Oi(t) { return t.classList || new Dr(t); } function Dr(t) { this._node = t, this._names = Ir(t.getAttribute("class") || ""); } Dr.prototype = { add: function(t) { var e = this._names.indexOf(t); e < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))); }, remove: function(t) { var e = this._names.indexOf(t); e >= 0 && (this._names.splice(e, 1), this._node.setAttribute("class", this._names.join(" "))); }, contains: function(t) { return this._names.indexOf(t) >= 0; } }; function Rr(t, e) { for (var i = Oi(t), r = -1, o = e.length; ++r < o; ) i.add(e[r]); } function Nr(t, e) { for (var i = Oi(t), r = -1, o = e.length; ++r < o; ) i.remove(e[r]); } function vn(t) { return function() { Rr(this, t); }; } function wn(t) { return function() { Nr(this, t); }; } function Ln(t, e) { return function() { (e.apply(this, arguments) ? Rr : Nr)(this, t); }; } function Fn(t, e) { var i = Ir(t + ""); if (arguments.length < 2) { for (var r = Oi(this.node()), o = -1, n = i.length; ++o < n; ) if (!r.contains(i[o])) return !1; return !0; } return this.each((typeof e == "function" ? Ln : e ? vn : wn)(i, e)); } function En() { this.textContent = ""; } function An(t) { return function() { this.textContent = t; }; } function Mn(t) { return function() { var e = t.apply(this, arguments); this.textContent = e ?? ""; }; } function On(t) { return arguments.length ? this.each(t == null ? En : (typeof t == "function" ? Mn : An)(t)) : this.node().textContent; } function In() { this.innerHTML = ""; } function Dn(t) { return function() { this.innerHTML = t; }; } function Rn(t) { return function() { var e = t.apply(this, arguments); this.innerHTML = e ?? ""; }; } function Nn(t) { return arguments.length ? this.each(t == null ? In : (typeof t == "function" ? Rn : Dn)(t)) : this.node().innerHTML; } function $n() { this.nextSibling && this.parentNode.appendChild(this); } function zn() { return this.each($n); } function Pn() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); } function Wn() { return this.each(Pn); } function Hn(t) { var e = typeof t == "function" ? t : Lr(t); return this.select(function() { return this.appendChild(e.apply(this, arguments)); }); } function qn() { return null; } function Un(t, e) { var i = typeof t == "function" ? t : Lr(t), r = e == null ? qn : typeof e == "function" ? e : Mi(e); return this.select(function() { return this.insertBefore(i.apply(this, arguments), r.apply(this, arguments) || null); }); } function Gn() { var t = this.parentNode; t && t.removeChild(this); } function Vn() { return this.each(Gn); } function Yn() { var t = this.cloneNode(!1), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function Xn() { var t = this.cloneNode(!0), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function Kn(t) { return this.select(t ? Xn : Yn); } function jn(t) { return arguments.length ? this.property("__data__", t) : this.node().__data__; } function Zn(t) { return function(e) { t.call(this, e, this.__data__); }; } function Jn(t) { return t.trim().split(/^|\s+/).map(function(e) { var i = "", r = e.indexOf("."); return r >= 0 && (i = e.slice(r + 1), e = e.slice(0, r)), { type: e, name: i }; }); } function Qn(t) { return function() { var e = this.__on; if (e) { for (var i = 0, r = -1, o = e.length, n; i < o; ++i) n = e[i], (!t.type || n.type === t.type) && n.name === t.name ? this.removeEventListener(n.type, n.listener, n.options) : e[++r] = n; ++r ? e.length = r : delete this.__on; } }; } function ts(t, e, i) { return function() { var r = this.__on, o, n = Zn(e); if (r) { for (var s = 0, l = r.length; s < l; ++s) if ((o = r[s]).type === t.type && o.name === t.name) { this.removeEventListener(o.type, o.listener, o.options), this.addEventListener(o.type, o.listener = n, o.options = i), o.value = e; return; } } this.addEventListener(t.type, n, i), o = { type: t.type, name: t.name, value: e, listener: n, options: i }, r ? r.push(o) : this.__on = [o]; }; } function es(t, e, i) { var r = Jn(t + ""), o, n = r.length, s; if (arguments.length < 2) { var l = this.node().__on; if (l) { for (var h = 0, u = l.length, f; h < u; ++h) for (o = 0, f = l[h]; o < n; ++o) if ((s = r[o]).type === f.type && s.name === f.name) return f.value; } return; } for (l = e ? ts : Qn, o = 0; o < n; ++o) this.each(l(r[o], e, i)); return this; } function $r(t, e, i) { var r = Or(t), o = r.CustomEvent; typeof o == "function" ? o = new o(e, i) : (o = r.document.createEvent("Event"), i ? (o.initEvent(e, i.bubbles, i.cancelable), o.detail = i.detail) : o.initEvent(e, !1, !1)), t.dispatchEvent(o); } function is(t, e) { return function() { return $r(this, t, e); }; } function rs(t, e) { return function() { return $r(this, t, e.apply(this, arguments)); }; } function os(t, e) { return this.each((typeof e == "function" ? rs : is)(t, e)); } function* ns() { for (var t = this._groups, e = 0, i = t.length; e < i; ++e) for (var r = t[e], o = 0, n = r.length, s; o < n; ++o) (s = r[o]) && (yield s); } var zr = [null]; function st(t, e) { this._groups = t, this._parents = e; } function me() { return new st([[document.documentElement]], zr); } function ss() { return this; } st.prototype = me.prototype = { constructor: st, select: Ao, selectAll: Do, selectChild: zo, selectChildren: qo, filter: Uo, data: jo, enter: Go, exit: Jo, join: Qo, merge: tn, selection: ss, order: en, sort: rn, call: nn, nodes: sn, node: an, size: ln, empty: hn, each: cn, attr: Cn, style: xn, property: Bn, classed: Fn, text: On, html: Nn, raise: zn, lower: Wn, append: Hn, insert: Un, remove: Vn, clone: Kn, datum: jn, on: es, dispatch: os, [Symbol.iterator]: ns }; function nh(t) { return typeof t == "string" ? new st([[document.querySelector(t)]], [document.documentElement]) : new st([[t]], zr); } function Ii(t, e, i) { t.prototype = e.prototype = i, i.constructor = t; } function Pr(t, e) { var i = Object.create(t.prototype); for (var r in e) i[r] = e[r]; return i; } function Ce() { } var fe = 0.7, Pe = 1 / fe, jt = "\\s*([+-]?\\d+)\\s*", de = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", xt = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", as = /^#([0-9a-f]{3,8})$/, ls = new RegExp(`^rgb\\(${jt},${jt},${jt}\\)$`), hs = new RegExp(`^rgb\\(${xt},${xt},${xt}\\)$`), cs = new RegExp(`^rgba\\(${jt},${jt},${jt},${de}\\)$`), us = new RegExp(`^rgba\\(${xt},${xt},${xt},${de}\\)$`), fs = new RegExp(`^hsl\\(${de},${xt},${xt}\\)$`), ds = new RegExp(`^hsla\\(${de},${xt},${xt},${de}\\)$`), or = { 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 }; Ii(Ce, ge, { copy(t) { return Object.assign(new this.constructor(), this, t); }, displayable() { return this.rgb().displayable(); }, hex: nr, // Deprecated! Use color.formatHex. formatHex: nr, formatHex8: gs, formatHsl: ps, formatRgb: sr, toString: sr }); function nr() { return this.rgb().formatHex(); } function gs() { return this.rgb().formatHex8(); } function ps() { return Wr(this).formatHsl(); } function sr() { return this.rgb().formatRgb(); } function ge(t) { var e, i; return t = (t + "").trim().toLowerCase(), (e = as.exec(t)) ? (i = e[1].length, e = parseInt(e[1], 16), i === 6 ? ar(e) : i === 3 ? new ot(e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, (e & 15) << 4 | e & 15, 1) : i === 8 ? Se(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, (e & 255) / 255) : i === 4 ? Se(e >> 12 & 15 | e >> 8 & 240, e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, ((e & 15) << 4 | e & 15) / 255) : null) : (e = ls.exec(t)) ? new ot(e[1], e[2], e[3], 1) : (e = hs.exec(t)) ? new ot(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, 1) : (e = cs.exec(t)) ? Se(e[1], e[2], e[3], e[4]) : (e = us.exec(t)) ? Se(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, e[4]) : (e = fs.exec(t)) ? cr(e[1], e[2] / 100, e[3] / 100, 1) : (e = ds.exec(t)) ? cr(e[1], e[2] / 100, e[3] / 100, e[4]) : or.hasOwnProperty(t) ? ar(or[t]) : t === "transparent" ? new ot(NaN, NaN, NaN, 0) : null; } function ar(t) { return new ot(t >> 16 & 255, t >> 8 & 255, t & 255, 1); } function Se(t, e, i, r) { return r <= 0 && (t = e = i = NaN), new ot(t, e, i, r); } function ms(t) { return t instanceof Ce || (t = ge(t)), t ? (t = t.rgb(), new ot(t.r, t.g, t.b, t.opacity)) : new ot(); } function _i(t, e, i, r) { return arguments.length === 1 ? ms(t) : new ot(t, e, i, r ?? 1); } function ot(t, e, i, r) { this.r = +t, this.g = +e, this.b = +i, this.opacity = +r; } Ii(ot, _i, Pr(Ce, { brighter(t) { return t = t == null ? Pe : Math.pow(Pe, t), new ot(this.r * t, this.g * t, this.b * t, this.opacity); }, darker(t) { return t = t == null ? fe : Math.pow(fe, t), new ot(this.r * t, this.g * t, this.b * t, this.opacity); }, rgb() { return this; }, clamp() { return new ot(Pt(this.r), Pt(this.g), Pt(this.b), We(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: lr, // Deprecated! Use color.formatHex. formatHex: lr, formatHex8: Cs, formatRgb: hr, toString: hr })); function lr() { return `#${zt(this.r)}${zt(this.g)}${zt(this.b)}`; } function Cs() { return `#${zt(this.r)}${zt(this.g)}${zt(this.b)}${zt((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; } function hr() { const t = We(this.opacity); return `${t === 1 ? "rgb(" : "rgba("}${Pt(this.r)}, ${Pt(this.g)}, ${Pt(this.b)}${t === 1 ? ")" : `, ${t})`}`; } function We(t) { return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); } function Pt(t) { return Math.max(0, Math.min(255, Math.round(t) || 0)); } function zt(t) { return t = Pt(t), (t < 16 ? "0" : "") + t.toString(16); } function cr(t, e, i, r) { return r <= 0 ? t = e = i = NaN : i <= 0 || i >= 1 ? t = e = NaN : e <= 0 && (t = NaN), new Ct(t, e, i, r); } function Wr(t) { if (t instanceof Ct) return new Ct(t.h, t.s, t.l, t.opacity); if (t instanceof Ce || (t = ge(t)), !t) return new Ct(); if (t instanceof Ct) return t; t = t.rgb(); var e = t.r / 255, i = t.g / 255, r = t.b / 255, o = Math.min(e, i, r), n = Math.max(e, i, r), s = NaN, l = n - o, h = (n + o) / 2; return l ? (e === n ? s = (i - r) / l + (i < r) * 6 : i === n ? s = (r - e) / l + 2 : s = (e - i) / l + 4, l /= h < 0.5 ? n + o : 2 - n - o, s *= 60) : l = h > 0 && h < 1 ? 0 : s, new Ct(s, l, h, t.opacity); } function ys(t, e, i, r) { return arguments.length === 1 ? Wr(t) : new Ct(t, e, i, r ?? 1); } function Ct(t, e, i, r) { this.h = +t, this.s = +e, this.l = +i, this.opacity = +r; } Ii(Ct, ys, Pr(Ce, { brighter(t) { return t = t == null ? Pe : Math.pow(Pe, t), new Ct(this.h, this.s, this.l * t, this.opacity); }, darker(t) { return t = t == null ? fe : Math.pow(fe, t), new Ct(this.h, this.s, this.l * t, this.opacity); }, rgb() { var t = this.h % 360 + (this.h < 0) * 360, e = isNaN(t) || isNaN(this.s) ? 0 : this.s, i = this.l, r = i + (i < 0.5 ? i : 1 - i) * e, o = 2 * i - r; return new ot( ci(t >= 240 ? t - 240 : t + 120, o, r), ci(t, o, r), ci(t < 120 ? t + 240 : t - 120, o, r), this.opacity ); }, clamp() { return new Ct(ur(this.h), Be(this.s), Be(this.l), We(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 = We(this.opacity); return `${t === 1 ? "hsl(" : "hsla("}${ur(this.h)}, ${Be(this.s) * 100}%, ${Be(this.l) * 100}%${t === 1 ? ")" : `, ${t})`}`; } })); function ur(t) { return t = (t || 0) % 360, t < 0 ? t + 360 : t; } function Be(t) { return Math.max(0, Math.min(1, t || 0)); } function ci(t, e, i) { return (t < 60 ? e + (i - e) * t / 60 : t < 180 ? i : t < 240 ? e + (i - e) * (240 - t) / 60 : e) * 255; } const Di = (t) => () => t; function Hr(t, e) { return function(i) { return t + i * e; }; } function bs(t, e, i) { return t = Math.pow(t, i), e = Math.pow(e, i) - t, i = 1 / i, function(r) { return Math.pow(t + r * e, i); }; } function sh(t, e) { var i = e - t; return i ? Hr(t, i > 180 || i < -180 ? i - 360 * Math.round(i / 360) : i) : Di(isNaN(t) ? e : t); } function _s(t) { return (t = +t) == 1 ? qr : function(e, i) { return i - e ? bs(e, i, t) : Di(isNaN(e) ? i : e); }; } function qr(t, e) { var i = e - t; return i ? Hr(t, i) : Di(isNaN(t) ? e : t); } const fr = function t(e) { var i = _s(e); function r(o, n) { var s = i((o = _i(o)).r, (n = _i(n)).r), l = i(o.g, n.g), h = i(o.b, n.b), u = qr(o.opacity, n.opacity); return function(f) { return o.r = s(f), o.g = l(f), o.b = h(f), o.opacity = u(f), o + ""; }; } return r.gamma = t, r; }(1); function At(t, e) { return t = +t, e = +e, function(i) { return t * (1 - i) + e * i; }; } var xi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, ui = new RegExp(xi.source, "g"); function xs(t) { return function() { return t; }; } function Ts(t) { return function(e) { return t(e) + ""; }; } function ks(t, e) { var i = xi.lastIndex = ui.lastIndex = 0, r, o, n, s = -1, l = [], h = []; for (t = t + "", e = e + ""; (r = xi.exec(t)) && (o = ui.exec(e)); ) (n = o.index) > i && (n = e.slice(i, n), l[s] ? l[s] += n : l[++s] = n), (r = r[0]) === (o = o[0]) ? l[s] ? l[s] += o : l[++s] = o : (l[++s] = null, h.push({ i: s, x: At(r, o) })), i = ui.lastIndex; return i < e.length && (n = e.slice(i), l[s] ? l[s] += n : l[++s] = n), l.length < 2 ? h[0] ? Ts(h[0].x) : xs(e) : (e = h.length, function(u) { for (var f = 0, g; f < e; ++f) l[(g = h[f]).i] = g.x(u); return l.join(""); }); } var dr = 180 / Math.PI, Ti = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function Ur(t, e, i, r, o, n) { var s, l, h; return (s = Math.sqrt(t * t + e * e)) && (t /= s, e /= s), (h = t * i + e * r) && (i -= t * h, r -= e * h), (l = Math.sqrt(i * i + r * r)) && (i /= l, r /= l, h /= l), t * r < e * i && (t = -t, e = -e, h = -h, s = -s), { translateX: o, translateY: n, rotate: Math.atan2(e, t) * dr, skewX: Math.atan(h) * dr, scaleX: s, scaleY: l }; } var ve; function Ss(t) { const e = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + ""); return e.isIdentity ? Ti : Ur(e.a, e.b, e.c, e.d, e.e, e.f); } function Bs(t) { return t == null || (ve || (ve = document.createElementNS("http://www.w3.org/2000/svg", "g")), ve.setAttribute("transform", t), !(t = ve.transform.baseVal.consolidate())) ? Ti : (t = t.matrix, Ur(t.a, t.b, t.c, t.d, t.e, t.f)); } function Gr(t, e, i, r) { function o(u) { return u.length ? u.pop() + " " : ""; } function n(u, f, g, x, _, M) { if (u !== g || f !== x) { var $ = _.push("translate(", null, e, null, i); M.push({ i: $ - 4, x: At(u, g) }, { i: $ - 2, x: At(f, x) }); } else (g || x) && _.push("translate(" + g + e + x + i); } function s(u, f, g, x) { u !== f ? (u - f > 180 ? f += 360 : f - u > 180 && (u += 360), x.push({ i: g.push(o(g) + "rotate(", null, r) - 2, x: At(u, f) })) : f && g.push(o(g) + "rotate(" + f + r); } function l(u, f, g, x) { u !== f ? x.push({ i: g.push(o(g) + "skewX(", null, r) - 2, x: At(u, f) }) : f && g.push(o(g) + "skewX(" + f + r); } function h(u, f, g, x, _, M) { if (u !== g || f !== x) { var $ = _.push(o(_) + "scale(", null, ",", null, ")"); M.push({ i: $ - 4, x: At(u, g) }, { i: $ - 2, x: At(f, x) }); } else (g !== 1 || x !== 1) && _.push(o(_) + "scale(" + g + "," + x + ")"); } return function(u, f) { var g = [], x = []; return u = t(u), f = t(f), n(u.translateX, u.translateY, f.translateX, f.translateY, g, x), s(u.rotate, f.rotate, g, x), l(u.skewX, f.skewX, g, x), h(u.scaleX, u.scaleY, f.scaleX, f.scaleY, g, x), u = f = null, function(_) { for (var M = -1, $ = x.length, K; ++M < $; ) g[(K = x[M]).i] = K.x(_); return g.join(""); }; }; } var vs = Gr(Ss, "px, ", "px)", "deg)"), ws = Gr(Bs, ", ", ")", ")"), Qt = 0, se = 0, oe = 0, Vr = 1e3, He, ae, qe = 0, Wt = 0, Ye = 0, pe = typeof performance == "object" && performance.now ? performance : Date, Yr = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(t) { setTimeout(t, 17); }; function Ri() { return Wt || (Yr(Ls), Wt = pe.now() + Ye); } function Ls() { Wt = 0; } function Ue() { this._call = this._time = this._next = null; } Ue.prototype = Xr.prototype = { constructor: Ue, restart: function(t, e, i) { if (typeof t != "function") throw new TypeError("callback is not a function"); i = (i == null ? Ri() : +i) + (e == null ? 0 : +e), !this._next && ae !== this && (ae ? ae._next = this : He = this, ae = this), this._call = t, this._time = i, ki(); }, stop: function() { this._call && (this._call = null, this._time = 1 / 0, ki()); } }; function Xr(t, e, i) { var r = new Ue(); return r.restart(t, e, i), r; } function Fs() { Ri(), ++Qt; for (var t = He, e; t; ) (e = Wt - t._time) >= 0 && t._call.call(void 0, e), t = t._next; --Qt; } function gr() { Wt = (qe = pe.now()) + Ye, Qt = se = 0; try { Fs(); } finally { Qt = 0, As(), Wt = 0; } } function Es() { var t = pe.now(), e = t - qe; e > Vr && (Ye -= e, qe = t); } function As() { for (var t, e = He, i, r = 1 / 0; e; ) e._call ? (r > e._time && (r = e._time), t = e, e = e._next) : (i = e._next, e._next = null, e = t ? t._next = i : He = i); ae = t, ki(r); } function ki(t) { if (!Qt) { se && (se = clearTimeout(se)); var e = t - Wt; e > 24 ? (t < 1 / 0 && (se = setTimeout(gr, t - pe.now() - Ye)), oe && (oe = clearInterval(oe))) : (oe || (qe = pe.now(), oe = setInterval(Es, Vr)), Qt = 1, Yr(gr)); } } function pr(t, e, i) { var r = new Ue(); return e = e == null ? 0 : +e, r.restart((o) => { r.stop(), t(o + e); }, e, i), r; } var Ms = wr("start", "end", "cancel", "interrupt"), Os = [], Kr = 0, mr = 1, Si = 2, Me = 3, Cr = 4, Bi = 5, Oe = 6; function Xe(t, e, i, r, o, n) { var s = t.__transition; if (!s) t.__transition = {}; else if (i in s) return; Is(t, i, { name: e, index: r, // For context during callback. group: o, // For context during callback. on: Ms, tween: Os, time: n.time, delay: n.delay, duration: n.duration, ease: n.ease, timer: null, state: Kr }); } function Ni(t, e) { var i = bt(t, e); if (i.state > Kr) throw new Error("too late; already scheduled"); return i; } function Tt(t, e) { var i = bt(t, e); if (i.state > Me) throw new Error("too late; already running"); return i; } function bt(t, e) { var i = t.__transition; if (!i || !(i = i[e])) throw new Error("transition not found"); return i; } function Is(t, e, i) { var r = t.__transition, o; r[e] = i, i.timer = Xr(n, 0, i.time); function n(u) { i.state = mr, i.timer.restart(s, i.delay, i.time), i.delay <= u && s(u - i.delay); } function s(u) { var f, g, x, _; if (i.state !== mr) return h(); for (f in r) if (_ = r[f], _.name === i.name) { if (_.state === Me) return pr(s); _.state === Cr ? (_.state = Oe, _.timer.stop(), _.on.call("interrupt", t, t.__data__, _.index, _.group), delete r[f]) : +f < e && (_.state = Oe, _.timer.stop(), _.on.call("cancel", t, t.__data__, _.index, _.group), delete r[f]); } if (pr(function() { i.state === Me && (i.state = Cr, i.timer.restart(l, i.delay, i.time), l(u)); }), i.state = Si, i.on.call("start", t, t.__data__, i.index, i.group), i.state === Si) { for (i.state = Me, o = new Array(x = i.tween.length), f = 0, g = -1; f < x; ++f) (_ = i.tween[f].value.call(t, t.__data__, i.index, i.group)) && (o[++g] = _); o.length = g + 1; } } function l(u) { for (var f = u < i.duration ? i.ease.call(null, u / i.duration) : (i.timer.restart(h), i.state = Bi, 1), g = -1, x = o.length; ++g < x; ) o[g].call(t, f); i.state === Bi && (i.on.call("end", t, t.__data__, i.index, i.group), h()); } function h() { i.state = Oe, i.timer.stop(), delete r[e]; for (var u in r) return; delete t.__transition; } } function Ds(t, e) { var i = t.__transition, r, o, n = !0, s; if (i) { e = e == null ? null : e + ""; for (s in i) { if ((r = i[s]).name !== e) { n = !1; continue; } o = r.state > Si && r.state < Bi, r.state = Oe, r.timer.stop(), r.on.call(o ? "interrupt" : "cancel", t, t.__data__, r.index, r.group), delete i[s]; } n && delete t.__transition; } } function Rs(t) { return this.each(function() { Ds(this, t); }); } function Ns(t, e) { var i, r; return function() { var o = Tt(this, t), n = o.tween; if (n !== i) { r = i = n; for (var s = 0, l = r.length; s < l; ++s) if (r[s].name === e) { r = r.slice(), r.splice(s, 1); break; } } o.tween = r; }; } function $s(t, e, i) { var r, o; if (typeof i != "function") throw new Error(); return function() { var n = Tt(this, t), s = n.tween; if (s !== r) { o = (r = s).slice(); for (var l = { name: e, value: i }, h = 0, u = o.length; h < u; ++h) if (o[h].name === e) { o[h] = l; break; } h === u && o.push(l); } n.tween = o; }; } function zs(t, e) { var i = this._id; if (t += "", arguments.length < 2) { for (var r = bt(this.node(), i).tween, o = 0, n = r.length, s; o < n; ++o) if ((s = r[o]).name === t) return s.value; return null; } return this.each((e == null ? Ns : $s)(i, t, e)); } function $i(t, e, i) { var r = t._id; return t.each(function() { var o = Tt(this, r); (o.value || (o.value = {}))[e] = i.apply(this, arguments); }), function(o) { return bt(o, r).value[e]; }; } function jr(t, e) { var i; return (typeof e == "number" ? At : e instanceof ge ? fr : (i = ge(e)) ? (e = i, fr) : ks)(t, e); } function Ps(t) { return function() { this.removeAttribute(t); }; } function Ws(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function Hs(t, e, i) { var r, o = i + "", n; return function() { var s = this.getAttribute(t); return s === o ? null : s === r ? n : n = e(r = s, i); }; } function qs(t, e, i) { var r, o = i + "", n; return function() { var s = this.getAttributeNS(t.space, t.local); return s === o ? null : s === r ? n : n = e(r = s, i); }; } function Us(t, e, i) { var r, o, n; return function() { var s, l = i(this), h; return l == null ? void this.removeAttribute(t) : (s = this.getAttribute(t), h = l + "", s === h ? null : s === r && h === o ? n : (o = h, n = e(r = s, l))); }; } function Gs(t, e, i) { var r, o, n; return function() { var s, l = i(this), h; return l == null ? void this.removeAttributeNS(t.space, t.local) : (s = this.getAttributeNS(t.space, t.local), h = l + "", s === h ? null : s === r && h === o ? n : (o = h, n = e(r = s, l))); }; } function Vs(t, e) { var i = Ve(t), r = i === "transform" ? ws : jr; return this.attrTween(t, typeof e == "function" ? (i.local ? Gs : Us)(i, r, $i(this, "attr." + t, e)) : e == null ? (i.local ? Ws : Ps)(i) : (i.local ? qs : Hs)(i, r, e)); } function Ys(t, e) { return function(i) { this.setAttribute(t, e.call(this, i)); }; } function Xs(t, e) { return function(i) { this.setAttributeNS(t.space, t.local, e.call(this, i)); }; } function Ks(t, e) { var i, r; function o() { var n = e.apply(this, arguments); return n !== r && (i = (r = n) && Xs(t, n)), i; } return o._value = e, o; } function js(t, e) { var i, r; function o() { var n = e.apply(this, arguments); return n !== r && (i = (r = n) && Ys(t, n)), i; } return o._value = e, o; } function Zs(t, e) { var i = "attr." + t; if (arguments.length < 2) return (i = this.tween(i)) && i._value; if (e == null) return this.tween(i, null); if (typeof e != "function") throw new Error(); var r = Ve(t); return this.tween(i, (r.local ? Ks : js)(r, e)); } function Js(t, e) { return function() { Ni(this, t).delay = +e.apply(this, arguments); }; } function Qs(t, e) { return e = +e, function() { Ni(this, t).delay = e; }; } function ta(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? Js : Qs)(e, t)) : bt(this.node(), e).delay; } function ea(t, e) { return function() { Tt(this, t).duration = +e.apply(this, arguments); }; } function ia(t, e) { return e = +e, function() { Tt(this, t).duration = e; }; } function ra(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? ea : ia)(e, t)) : bt(this.node(), e).duration; } function oa(t, e) { if (typeof e != "function") throw new Error(); return function() { Tt(this, t).ease = e; }; } function na(t) { var e = this._id; return arguments.length ? this.each(oa(e, t)) : bt(this.node(), e).ease; } function sa(t, e) { return function() { var i = e.apply(this, arguments); if (typeof i != "function") throw new Error(); Tt(this, t).ease = i; }; } function aa(t) { if (typeof t != "function") throw new Error(); return this.each(sa(this._id, t)); } function la(t) { typeof t != "function" && (t = Er(t)); for (var e = this._groups, i = e.length, r = new Array(i), o = 0; o < i; ++o) for (var n = e[o], s = n.length, l = r[o] = [], h, u = 0; u < s; ++u) (h = n[u]) && t.call(h, h.__data__, u, n) && l.push(h); return new Lt(r, this._parents, this._name, this._id); } function ha(t) { if (t._id !== this._id) throw new Error(); for (var e = this._groups, i = t._groups, r = e.length, o = i.length, n = Math.min(r, o), s = new Array(r), l = 0; l < n; ++l) for (var h = e[l], u = i[l], f = h.length, g = s[l] = new Array(f), x, _ = 0; _ < f; ++_) (x = h[_] || u[_]) && (g[_] = x); for (; l < r; ++l) s[l] = e[l]; return new Lt(s, this._parents, this._name, this._id); } function ca(t) { return (t + "").trim().split(/^|\s+/).every(function(e) { var i = e.indexOf("."); return i >= 0 && (e = e.slice(0, i)), !e || e === "start"; }); } function ua(t, e, i) { var r, o, n = ca(e) ? Ni : Tt; return function() { var s = n(this, t), l = s.on; l !== r && (o = (r = l).copy()).on(e, i), s.on = o; }; } function fa(t, e) { var i = this._id; return arguments.length < 2 ? bt(this.node(), i).on.on(t) : this.each(ua(i, t, e)); } function da(t) { return function() { var e = this.parentNode; for (var i in this.__transition) if (+i !== t) return; e && e.removeChild(this); }; } function ga() { return this.on("end.remove", da(this._id)); } function pa(t) { var e = this._name, i = this._id; typeof t != "function" && (t = Mi(t)); for (var r = this._groups, o = r.length, n = new Array(o), s = 0; s < o; ++s) for (var l = r[s], h = l.length, u = n[s] = new Array(h), f, g, x = 0; x < h; ++x) (f = l[x]) && (g = t.call(f, f.__data__, x, l)) && ("__data__" in f && (g.__data__ = f.__data__), u[x] = g, Xe(u[x], e, i, x, u, bt(f, i))); return new Lt(n, this._parents, e, i); } function ma(t) { var e = this._name, i = this._id; typeof t != "function" && (t = Fr(t)); for (var r = this._groups, o = r.length, n = [], s = [], l = 0; l < o; ++l) for (var h = r[l], u = h.length, f, g = 0; g < u; ++g) if (f = h[g]) { for (var x = t.call(f, f.__data__, g, h), _, M = bt(f, i), $ = 0, K = x.length; $ < K; ++$) (_ = x[$]) && Xe(_, e, i, $, x, M); n.push(x), s.push(f); } return new Lt(n, s, e, i); } var Ca = me.prototype.constructor; function ya() { return new Ca(this._groups, this._parents); } function ba(t, e) { var i, r, o; return function() { var n = Jt(this, t), s = (this.style.removeProperty(t), Jt(this, t)); return n === s ? null : n === i && s === r ? o : o = e(i = n, r = s); }; } function Zr(t) { return function() { this.style.removeProperty(t); }; } function _a(t, e, i) { var r, o = i + "", n; return function() { var s = Jt(this, t); return s === o ? null : s === r ? n : n = e(r = s, i); }; } function xa(t, e, i) { var r, o, n; return function() { var s = Jt(this, t), l = i(this), h = l + ""; return l == null && (h = l = (this.style.removeProperty(t), Jt(this, t))), s === h ? null : s === r && h === o ? n : (o = h, n = e(r = s, l)); }; } function Ta(t, e) { var i, r, o, n = "style." + e, s = "end." + n, l; return function() { var h = Tt(this, t), u = h.on, f = h.value[n] == null ? l || (l = Zr(e)) : void 0; (u !== i || o !== f) && (r = (i = u).copy()).on(s, o = f), h.on = r; }; } function ka(t, e, i) { var r = (t += "") == "transform" ? vs : jr; return e == null ? this.styleTween(t, ba(t, r)).on("end.style." + t, Zr(t)) : typeof e == "function" ? this.styleTween(t, xa(t, r, $i(this, "style." + t, e))).each(Ta(this._id, t)) : this.styleTween(t, _a(t, r, e), i).on("end.style." + t, null); } function Sa(t, e, i) { return function(r) { this.style.setProperty(t, e.call(this, r), i); }; } function Ba(t, e, i) { var r, o; function n() { var s = e.apply(this, arguments); return s !== o && (r = (o = s) && Sa(t, s, i)), r; } return n._value = e, n; } function va(t, e, i) { var r = "style." + (t += ""); if (arguments.length < 2) return (r = this.tween(r)) && r._value; if (e == null) return this.tween(r, null); if (typeof e != "function") throw new Error(); return this.tween(r, Ba(t, e, i ?? "")); } function wa(t) { return function() { this.textContent = t; }; } function La(t) { return function() { var e = t(this); this.textContent = e ?? ""; }; } function Fa(t) { return this.tween("text", typeof t == "function" ? La($i(this, "text", t)) : wa(t == null ? "" : t + "")); } function Ea(t) { return function(e) { this.textContent = t.call(this, e); }; } function Aa(t) { var e, i; function r() { var o = t.apply(this, arguments); return o !== i && (e = (i = o) && Ea(o)), e; } return r._value = t, r; } function Ma(t) { var e = "text"; if (arguments.length < 1) return (e = this.tween(e)) && e._value; if (t == null) return this.tween(e, null); if (typeof t != "function") throw new Error(); return this.tween(e, Aa(t)); } function Oa() { for (var t = this._name, e = this._id, i = Jr(), r = this._groups, o = r.length, n = 0; n < o; ++n) for (var s = r[n], l = s.length, h, u = 0; u < l; ++u) if (h = s[u]) { var f = bt(h, e); Xe(h, t, i, u, s, { time: f.time + f.delay + f.duration, delay: 0, duration: f.duration, ease: f.ease }); } return new Lt(r, this._parents, t, i); } function Ia() { var t, e, i = this, r = i._id, o = i.size(); return new Promise(function(n, s) { var l = { value: s }, h = { value: function() { --o === 0 && n(); } }; i.each(function() { var u = Tt(this, r), f = u.on; f !== t && (e = (t = f).copy(), e._.cancel.push(l), e._.interrupt.push(l), e._.end.push(h)), u.on = e; }), o === 0 && n(); }); } var Da = 0; function Lt(t, e, i, r) { this._groups = t, this._parents = e, this._name = i, this._id = r; } function Jr() { return ++Da; } var wt = me.prototype; Lt.prototype = { constructor: Lt, select: pa, selectAll: ma, selectChild: wt.selectChild, selectChildren: wt.selectChildren, filter: la, merge: ha, selection: ya, transition: Oa, call: wt.call, nodes: wt.nodes, node: wt.node, size: wt.size, empty: wt.empty, each: wt.each, on: fa, attr: Vs, attrTween: Zs, style: ka, styleTween: va, text: Fa, textTween: Ma, remove: ga, tween: zs, delay: ta, duration: ra, ease: na, easeVarying: aa, end: Ia, [Symbol.iterator]: wt[Symbol.iterator] }; function Ra(t) { return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; } var Na = { time: null, // Set on use. delay: 0, duration: 250, ease: Ra }; function $a(t, e) { for (var i; !(i = t.__transition) || !(i = i[e]); ) if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`); return i; } function za(t) { var e, i; t instanceof Lt ? (e = t._id, t = t._name) : (e = Jr(), (i = Na).time = Ri(), t = t == null ? null : t + ""); for (var r = this._groups, o = r.length, n = 0; n < o; ++n) for (var s = r[n], l = s.length, h, u = 0; u < l; ++u) (h = s[u]) && Xe(h, t, e, u, s, i || $a(h, e)); return new Lt(r, this._parents, t, e); } me.prototype.interrupt = Rs; me.prototype.transition = za; function le(t, e, i) { this.k = t, this.x = e, this.y = i; } le.prototype = { constructor: le, scale: function(t) { return t === 1 ? this : new le(this.k * t, this.x, this.y); }, translate: function(t, e) { return t === 0 & e === 0 ? this : new le(this.k, this.x + this.k * t, this.y + this.k * e); }, apply: function(t) { return [t[0] * this.k + this.x, t[1] * this.k + this.y]; }, applyX: function(t) { return t * this.k + this.x; }, applyY: function(t) { return t * this.k + this.y; }, invert: function(t) { return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k]; }, invertX: function(t) { return (t - this.x) / this.k; }, invertY: function(t) { return (t - this.y) / this.k; }, rescaleX: function(t) { return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)); }, rescaleY: function(t) { return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)); }, toString: function() { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; } }; le.prototype; /*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */ function Mt(t) { return Mt = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, Mt(t); } function vi(t, e) { return vi = Object.setPrototypeOf || function(r, o) { return r.__proto__ = o, r; }, vi(t, e); } function Pa() { if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1; if (typeof Proxy == "function") return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })), !0; } catch { return !1; } } function Ie(t, e, i) { return Pa() ? Ie = Reflect.construct : Ie = function(o, n, s) { var l = [null]; l.push.apply(l, n); var h = Function.bind.apply(o, l), u = new h(); return s && vi(u, s.prototype), u; }, Ie.apply(null, arguments); } function mt(t) { return Wa(t) || Ha(t) || qa(t) || Ua(); } function Wa(t) { if (Array.isArray(t)) return wi(t); } function Ha(t) { if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t); } function qa(t, e) { if (t) { if (typeof t == "string") return wi(t, e); var i = Object.prototype.toString.call(t).slice(8, -1); if (i === "Object" && t.constructor && (i = t.constructor.name), i === "Map" || i === "Set") return Array.from(t); if (i === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)) return wi(t, e); } } function wi(t, e) { (e == null || e > t.length) && (e = t.length); for (var i = 0, r = new Array(e); i < e; i++) r[i] = t[i]; return r; } function Ua() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var Ga = Object.hasOwnProperty, yr = Object.setPrototypeOf, Va = Object.isFrozen, Ya = Object.getPrototypeOf, Xa = Object.getOwnPropertyDescriptor, J = Object.freeze, yt = Object.seal, Ka = Object.create, Qr = typeof Reflect < "u" && Reflect, Ge = Qr.apply, Li = Qr.construct; Ge || (Ge = function(e, i, r) { return e.apply(i, r); }); J || (J = function(e) { return e; }); yt || (yt = function(e) { return e; }); Li || (Li = function(e, i) { return Ie(e, mt(i)); }); var ja = ft(Array.prototype.forEach), br = ft(Array.prototype.pop), ne = ft(Array.prototype.push), De = ft(String.prototype.toLowerCase), fi = ft(String.prototype.toString), Za = ft(String.prototype.match), pt = ft(String.prototype.replace), Ja = ft(String.prototype.indexOf), Qa = ft(String.prototype.trim), j = ft(RegExp.prototype.test), di = tl(TypeError); function ft(t) { return function(e) { for (var i = arguments.length, r = new Array(i > 1 ? i - 1 : 0), o = 1; o < i; o++) r[o - 1] = arguments[o]; return Ge(t, e, r); }; } function tl(t) { return function() { for (var e = arguments.length, i = new Array(e), r = 0; r < e; r++) i[r] = arguments[r]; return Li(t, i); }; } function A(t, e, i) { i = i || De, yr && yr(t, null); for (var r = e.length; r--; ) { var o = e[r]; if (typeof o == "string") { var n = i(o); n !== o && (Va(e) || (e[r] = n), o = n); } t[o] = !0; } return t; } function $t(t) { var e = Ka(null), i; for (i in t) Ge(Ga, t, [i]) === !0 && (e[i] = t[i]); return e; } function we(t, e) { for (; t !== null; ) { var i = Xa(t, e); if (i) { if (i.get) return ft(i.get); if (typeof i.value == "function") return ft(i.value); } t = Ya(t); } function r(o) { return console.warn("fallback value for", o), null; } return r; } var _r = J(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), gi = J(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), pi = J(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), el = J(["animate", "color-profile", "cursor", "discard", "fedropshadow", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), mi = J(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover"]), il = J(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), xr = J(["#text"]), Tr = J(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns", "slot"]), Ci = J(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), kr = J(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), Le = J(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), rl = yt(/\{\{[\w\W]*|[\w\W]*\}\}/gm), ol = yt(/<%[\w\W]*|[\w\W]*%>/gm), nl = yt(/\${[\w\W]*}/gm), sl = yt(/^data-[\-\w.\u00B7-\uFFFF]/), al = yt(/^aria-[\-\w]+$/), ll = yt( /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape ), hl = yt(/^(?:\w+script|data):/i), cl = yt( /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex ), ul = yt(/^html$/i), fl = function() { return typeof window > "u" ? null : window; }, dl = function(e, i) { if (Mt(e) !== "object" || typeof e.createPolicy != "function") return null; var r = null, o = "data-tt-policy-suffix"; i.currentScript && i.currentScript.hasAttribute(o) && (r = i.currentScript.getAttribute(o)); var n = "dompurify" + (r ? "#" + r : ""); try { return e.createPolicy(n, { createHTML: function(l) { return l; }, createScriptURL: function(l) { return l; } }); } catch { return console.warn("TrustedTypes policy " + n + " could not be created."), null; } }; function to() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fl(), e = function(a) { return to(a); }; if (e.version = "2.4.3", e.removed = [], !t || !t.document || t.document.nodeType !== 9) return e.isSupported = !1, e; var i = t.document, r = t.document, o = t.DocumentFragment, n = t.HTMLTemplateElement, s = t.Node, l = t.Element, h = t.NodeFilter, u = t.NamedNodeMap, f = u === void 0 ? t.NamedNodeMap || t.MozNamedAttrMap : u, g = t.HTMLFormElement, x = t.DOMParser, _ = t.trustedTypes, M = l.prototype, $ = we(M, "cloneNode"), K = we(M, "nextSibling"), It = we(M, "childNodes"), nt = we(M, "parentNode"); if (typeof n == "function") { var Q = r.createElement("template"); Q.content && Q.content.ownerDocument && (r = Q.content.ownerDocument); } var H = dl(_, i), at = H ? H.createHTML("") : "", lt = r, Dt = lt.implementation, Ht = lt.createNodeIterator, P = lt.createDocumentFragment, D = lt.getElementsByTagName, qt = i.importNode, ee = {}; try { ee = $t(r).documentMode ? r.documentMode : {}; } catch { } var k = {}; e.isSupported = typeof nt == "function" && Dt && typeof Dt.createHTMLDocument < "u" && ee !== 9; var y = rl, p = ol, B = nl, b = sl, F = al, w = hl, O = cl, z = ll, E = null, W = A({}, [].concat(mt(_r), mt(gi), mt(pi), mt(mi), mt(xr))), R = null, ht = A({}, [].concat(mt(Tr), mt(Ci), mt(kr), mt(Le))), N = Object.seal(Object.create(null, { tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 } })), dt = null, _t = null, G = !0, ct = !0, Ut = !1, gt = !1, Rt = !1, ti = !1, ei = !1, Gt = !1, ye = !1, be = !1, Pi = !0, Wi = !1, fo = "user-content-", ii = !0, ie = !1, Vt = {}, Yt = null, Hi = A({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]), qi = null, Ui = A({}, ["audio", "video", "img", "source", "image", "track"]), ri = null, Gi = A({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), _e = "http://www.w3.org/1998/Math/MathML", xe = "http://www.w3.org/2000/svg", kt = "http://www.w3.org/1999/xhtml", Xt = kt, oi = !1, ni = null, go = A({}, [_e, xe, kt], fi), Nt, po = ["application/xhtml+xml", "text/html"], mo = "text/html", q, Kt = null, Co = r.createElement("form"), Vi = function(a) { return a instanceof RegExp || a instanceof Function; }, si = function(a) { Kt && Kt === a || ((!a || Mt(a) !== "object") && (a = {}), a = $t(a), Nt = // eslint-disable-next-line unicorn/prefer-includes po.indexOf(a.PARSER_MEDIA_TYPE) === -1 ? Nt = mo : Nt = a.PARSER_MEDIA_TYPE, q = Nt === "application/xhtml+xml" ? fi : De, E = "ALLOWED_TAGS" in a ? A({}, a.ALLOWED_TAGS, q) : W, R = "ALLOWED_ATTR" in a ? A({}, a.ALLOWED_ATTR, q) : ht, ni = "ALLOWED_NAMESPACES" in a ? A({}, a.ALLOWED_NAMESPACES, fi) : go, ri = "ADD_URI_SAFE_ATTR" in a ? A( $t(Gi), // eslint-disable-line indent a.ADD_URI_SAFE_ATTR, // eslint-disable-line indent q // eslint-disable-line indent ) : Gi, qi = "ADD_DATA_URI_TAGS" in a ? A( $t(Ui), // eslint-disable-line indent a.ADD_DATA_URI_TAGS, // eslint-disable-line indent q // eslint-disable-line indent ) : Ui, Yt = "FORBID_CONTENTS" in a ? A({}, a.FORBID_CONTENTS, q) : Hi, dt = "FORBID_TAGS" in a ? A({}, a.FORBID_TAGS, q) : {}, _t = "FORBID_ATTR" in a ? A({}, a.FORBID_ATTR, q) : {}, Vt = "USE_PROFILES" in a ? a.USE_PROFILES : !1, G = a.ALLOW_ARIA_ATTR !== !1, ct = a.ALLOW_DATA_ATTR !== !1, Ut = a.ALLOW_UNKNOWN_PROTOCOLS || !1, gt = a.SAFE_FOR_TEMPLATES || !1, Rt = a.WHOLE_DOCUMENT || !1, Gt = a.RETURN_DOM || !1, ye = a.RETURN_DOM_FRAGMENT || !1, be = a.RETURN_TRUSTED_TYPE || !1, ei = a.FORCE_BODY || !1, Pi = a.SANITIZE_DOM !== !1, Wi = a.SANITIZE_NAMED_PROPS || !1, ii = a.KEEP_CONTENT !== !1, ie = a.IN_PLACE || !1, z = a.ALLOWED_URI_REGEXP || z, Xt = a.NAMESPACE || kt, a.CUSTOM_ELEMENT_HANDLING && Vi(a.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (N.tagNameCheck = a.CUSTOM_ELEMENT_HANDLING.tagNameCheck), a.CUSTOM_ELEMENT_HANDLING && Vi(a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (N.attributeNameCheck = a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), a.CUSTOM_ELEMENT_HANDLING && typeof a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (N.allowCustomizedBuiltInElements = a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), gt && (ct = !1), ye && (Gt = !0), Vt && (E = A({}, mt(xr)), R = [], Vt.html === !0 && (A(E, _r), A(R, Tr)), Vt.svg === !0 && (A(E, gi), A(R, Ci), A(R, Le)), Vt.svgFilters === !0 && (A(E, pi), A(R, Ci), A(R, Le)), Vt.mathMl === !0 && (A(E, mi), A(R, kr), A(R, Le))), a.ADD_TAGS && (E === W && (E = $t(E)), A(E, a.ADD_TAGS, q)), a.ADD_ATTR && (R === ht && (R = $t(R)), A(R, a.ADD_ATTR, q)), a.ADD_URI_SAFE_ATTR && A(ri, a.ADD_URI_SAFE_ATTR, q), a.FORBID_CONTENTS && (Yt === Hi && (Yt = $t(Yt)), A(Yt, a.FORBID_CONTENTS, q)), ii && (E["#text"] = !0), Rt && A(E, ["html", "head", "body"]), E.table && (A(E, ["tbody"]), delete dt.tbody), J && J(a), Kt = a); }, Yi = A({}, ["mi", "mo", "mn", "ms", "mtext"]), Xi = A({}, ["foreignobject", "desc", "title", "annotation-xml"]), yo = A({}, ["title", "style", "font", "a", "script"]), Te = A({}, gi); A(Te, pi), A(Te, el); var ai = A({}, mi); A(ai, il); var bo = function(a) { var d = nt(a); (!d || !d.tagName) && (d = { namespaceURI: Xt, tagName: "template" }); var C = De(a.tagName), I = De(d.tagName); return ni[a.namespaceURI] ? a.namespaceURI === xe ? d.namespaceURI === kt ? C === "svg" : d.namespaceURI === _e ? C === "svg" && (I === "annotation-xml" || Yi[I]) : Boolean(Te[C]) : a.namespaceURI === _e ? d.namespaceURI === kt ? C === "math" : d.namespaceURI === xe ? C === "math" && Xi[I] : Boolean(ai[C]) : a.namespaceURI === kt ? d.namespaceURI === xe && !Xi[I] || d.namespaceURI === _e && !Yi[I] ? !1 : !ai[C] && (yo[C] || !Te[C]) : !!(Nt === "application/xhtml+xml" && ni[a.namespaceURI]) : !1; }, St = function(a) { ne(e.removed, { element: a }); try { a.parentNode.removeChild(a); } catch { try { a.outerHTML = at; } catch { a.remove(); } } }, li = function(a, d) { try { ne(e.removed, { attribute: d.getAttributeNode(a), from: d }); } catch { ne(e.removed, { attribute: null, from: d }); } if (d.removeAttribute(a), a === "is" && !R[a]) if (Gt || ye) try { St(d); } catch { } else try { d.setAttribute(a, ""); } catch { } }, Ki = function(a) { var d, C; if (ei) a = "" + a; else { var I = Za(a, /^[\r\n\t ]+/); C = I && I[0]; } Nt === "application/xhtml+xml" && Xt === kt && (a = '' + a + ""); var tt = H ? H.createHTML(a) : a; if (Xt === kt) try { d = new x().parseFromString(tt, Nt); } catch { } if (!d || !d.documentElement) { d = Dt.createDocument(Xt, "template", null); try { d.documentElement.innerHTML = oi ? at : tt; } catch { } } var Y = d.body || d.documentElement; return a && C && Y.insertBefore(r.createTextNode(C), Y.childNodes[0] || null), Xt === kt ? D.call(d, Rt ? "html" : "body")[0] : Rt ? d.documentElement : Y; }, ji = function(a) { return Ht.call( a.ownerDocument || a, a, // eslint-disable-next-line no-bitwise h.SHOW_ELEMENT | h.SHOW_COMMENT | h.SHOW_TEXT, null, !1 ); }, _o = function(a) { return a instanceof g && (typeof a.nodeName != "string" || typeof a.textContent != "string" || typeof a.removeChild != "function" || !(a.attributes instanceof f) || typeof a.removeAttribute != "function" || typeof a.setAttribute != "function" || typeof a.namespaceURI != "string" || typeof a.insertBefore != "function" || typeof a.hasChildNodes != "function"); }, re = function(a) { return Mt(s) === "object" ? a instanceof s : a && Mt(a) === "object" && typeof a.nodeType == "number" && typeof a.nodeName == "string"; }, Bt = function(a, d, C) { k[a] && ja(k[a], function(I) { I.call(e, d, C, Kt); }); }, Zi = function(a) { var d; if (Bt("beforeSanitizeElements", a, null), _o(a) || j(/[\u0080-\uFFFF]/, a.nodeName)) return St(a), !0; var C = q(a.nodeName); if (Bt("uponSanitizeElement", a, { tagName: C, allowedTags: E }), a.hasChildNodes() && !re(a.firstElementChild) && (!re(a.content) || !re(a.content.firstElementChild)) && j(/<[/\w]/g, a.innerHTML) && j(/<[/\w]/g, a.textContent) || C === "select" && j(/