mx-ui-components
Version:
mobius ui library
5,628 lines • 208 kB
JavaScript
import { c as Qe, _ as za, g as Io } from "./index-BvldX5Gu.js";
var ht = function(a) {
return a && a.Math === Math && a;
}, _ = (
// eslint-disable-next-line es/no-global-this -- safe
ht(typeof globalThis == "object" && globalThis) || ht(typeof window == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe
ht(typeof self == "object" && self) || ht(typeof Qe == "object" && Qe) || ht(typeof Qe == "object" && Qe) || // eslint-disable-next-line no-new-func -- fallback
/* @__PURE__ */ function() {
return this;
}() || Function("return this")()
), Et = {}, D = function(a) {
try {
return !!a();
} catch {
return !0;
}
}, $l = D, he = !$l(function() {
return Object.defineProperty({}, 1, { get: function() {
return 7;
} })[1] !== 7;
}), wl = D, br = !wl(function() {
var a = (function() {
}).bind();
return typeof a != "function" || a.hasOwnProperty("prototype");
}), Cl = br, Ft = Function.prototype.call, Y = Cl ? Ft.bind(Ft) : function() {
return Ft.apply(Ft, arguments);
}, Mo = {}, _o = {}.propertyIsEnumerable, Vo = Object.getOwnPropertyDescriptor, Al = Vo && !_o.call({ 1: 2 }, 1);
Mo.f = Al ? function(e) {
var t = Vo(this, e);
return !!t && t.enumerable;
} : _o;
var xi = function(a, e) {
return {
enumerable: !(a & 1),
configurable: !(a & 2),
writable: !(a & 4),
value: e
};
}, Do = br, Lo = Function.prototype, Ha = Lo.call, Pl = Do && Lo.bind.bind(Ha, Ha), L = Do ? Pl : function(a) {
return function() {
return Ha.apply(a, arguments);
};
}, ko = L, Rl = ko({}.toString), Nl = ko("".slice), je = function(a) {
return Nl(Rl(a), 8, -1);
}, Il = L, Ml = D, _l = je, Zr = Object, Vl = Il("".split), Bo = Ml(function() {
return !Zr("z").propertyIsEnumerable(0);
}) ? function(a) {
return _l(a) === "String" ? Vl(a, "") : Zr(a);
} : Zr, xr = function(a) {
return a == null;
}, Dl = xr, Ll = TypeError, ve = function(a) {
if (Dl(a)) throw new Ll("Can't call method on " + a);
return a;
}, kl = Bo, Bl = ve, $t = function(a) {
return kl(Bl(a));
}, Jr = typeof document == "object" && document.all, B = typeof Jr > "u" && Jr !== void 0 ? function(a) {
return typeof a == "function" || a === Jr;
} : function(a) {
return typeof a == "function";
}, jl = B, ae = function(a) {
return typeof a == "object" ? a !== null : jl(a);
}, ea = _, Fl = B, Ul = function(a) {
return Fl(a) ? a : void 0;
}, Fe = function(a, e) {
return arguments.length < 2 ? Ul(ea[a]) : ea[a] && ea[a][e];
}, Gl = L, Tr = Gl({}.isPrototypeOf), zl = _, gn = zl.navigator, dn = gn && gn.userAgent, wt = dn ? String(dn) : "", jo = _, ta = wt, pn = jo.process, yn = jo.Deno, mn = pn && pn.versions || yn && yn.version, bn = mn && mn.v8, le, cr;
bn && (le = bn.split("."), cr = le[0] > 0 && le[0] < 4 ? 1 : +(le[0] + le[1]));
!cr && ta && (le = ta.match(/Edge\/(\d+)/), (!le || le[1] >= 74) && (le = ta.match(/Chrome\/(\d+)/), le && (cr = +le[1])));
var Ti = cr, xn = Ti, Hl = D, Yl = _, Xl = Yl.String, Fo = !!Object.getOwnPropertySymbols && !Hl(function() {
var a = Symbol("symbol detection");
return !Xl(a) || !(Object(a) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
!Symbol.sham && xn && xn < 41;
}), Wl = Fo, Uo = Wl && !Symbol.sham && typeof Symbol.iterator == "symbol", ql = Fe, Ql = B, Kl = Tr, Zl = Uo, Jl = Object, Go = Zl ? function(a) {
return typeof a == "symbol";
} : function(a) {
var e = ql("Symbol");
return Ql(e) && Kl(e.prototype, Jl(a));
}, eh = String, Or = function(a) {
try {
return eh(a);
} catch {
return "Object";
}
}, th = B, rh = Or, ah = TypeError, Te = function(a) {
if (th(a)) return a;
throw new ah(rh(a) + " is not a function");
}, ih = Te, nh = xr, st = function(a, e) {
var t = a[e];
return nh(t) ? void 0 : ih(t);
}, ra = Y, aa = B, ia = ae, sh = TypeError, oh = function(a, e) {
var t, r;
if (e === "string" && aa(t = a.toString) && !ia(r = ra(t, a)) || aa(t = a.valueOf) && !ia(r = ra(t, a)) || e !== "string" && aa(t = a.toString) && !ia(r = ra(t, a))) return r;
throw new sh("Can't convert object to primitive value");
}, zo = { exports: {} }, Tn = _, uh = Object.defineProperty, Oi = function(a, e) {
try {
uh(Tn, a, { value: e, configurable: !0, writable: !0 });
} catch {
Tn[a] = e;
}
return e;
}, lh = _, hh = Oi, On = "__core-js_shared__", Sn = zo.exports = lh[On] || hh(On, {});
(Sn.versions || (Sn.versions = [])).push({
version: "3.43.0",
mode: "global",
copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru)",
license: "https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",
source: "https://github.com/zloirock/core-js"
});
var Si = zo.exports, En = Si, Ei = function(a, e) {
return En[a] || (En[a] = e || {});
}, vh = ve, fh = Object, Sr = function(a) {
return fh(vh(a));
}, ch = L, gh = Sr, dh = ch({}.hasOwnProperty), fe = Object.hasOwn || function(e, t) {
return dh(gh(e), t);
}, ph = L, yh = 0, mh = Math.random(), bh = ph(1.1.toString), Ho = function(a) {
return "Symbol(" + (a === void 0 ? "" : a) + ")_" + bh(++yh + mh, 36);
}, xh = _, Th = Ei, $n = fe, Oh = Ho, Sh = Fo, Eh = Uo, Ke = xh.Symbol, na = Th("wks"), $h = Eh ? Ke.for || Ke : Ke && Ke.withoutSetter || Oh, z = function(a) {
return $n(na, a) || (na[a] = Sh && $n(Ke, a) ? Ke[a] : $h("Symbol." + a)), na[a];
}, wh = Y, wn = ae, Cn = Go, Ch = st, Ah = oh, Ph = z, Rh = TypeError, Nh = Ph("toPrimitive"), Ih = function(a, e) {
if (!wn(a) || Cn(a)) return a;
var t = Ch(a, Nh), r;
if (t) {
if (e === void 0 && (e = "default"), r = wh(t, a, e), !wn(r) || Cn(r)) return r;
throw new Rh("Can't convert object to primitive value");
}
return e === void 0 && (e = "number"), Ah(a, e);
}, Mh = Ih, _h = Go, Yo = function(a) {
var e = Mh(a, "string");
return _h(e) ? e : e + "";
}, Vh = _, An = ae, Ya = Vh.document, Dh = An(Ya) && An(Ya.createElement), Er = function(a) {
return Dh ? Ya.createElement(a) : {};
}, Lh = he, kh = D, Bh = Er, Xo = !Lh && !kh(function() {
return Object.defineProperty(Bh("div"), "a", {
get: function() {
return 7;
}
}).a !== 7;
}), jh = he, Fh = Y, Uh = Mo, Gh = xi, zh = $t, Hh = Yo, Yh = fe, Xh = Xo, Pn = Object.getOwnPropertyDescriptor;
Et.f = jh ? Pn : function(e, t) {
if (e = zh(e), t = Hh(t), Xh) try {
return Pn(e, t);
} catch {
}
if (Yh(e, t)) return Gh(!Fh(Uh.f, e, t), e[t]);
};
var Oe = {}, Wh = he, qh = D, Wo = Wh && qh(function() {
return Object.defineProperty(function() {
}, "prototype", {
value: 42,
writable: !1
}).prototype !== 42;
}), Qh = ae, Kh = String, Zh = TypeError, J = function(a) {
if (Qh(a)) return a;
throw new Zh(Kh(a) + " is not an object");
}, Jh = he, ev = Xo, tv = Wo, Ut = J, Rn = Yo, rv = TypeError, sa = Object.defineProperty, av = Object.getOwnPropertyDescriptor, oa = "enumerable", ua = "configurable", la = "writable";
Oe.f = Jh ? tv ? function(e, t, r) {
if (Ut(e), t = Rn(t), Ut(r), typeof e == "function" && t === "prototype" && "value" in r && la in r && !r[la]) {
var i = av(e, t);
i && i[la] && (e[t] = r.value, r = {
configurable: ua in r ? r[ua] : i[ua],
enumerable: oa in r ? r[oa] : i[oa],
writable: !1
});
}
return sa(e, t, r);
} : sa : function(e, t, r) {
if (Ut(e), t = Rn(t), Ut(r), ev) try {
return sa(e, t, r);
} catch {
}
if ("get" in r || "set" in r) throw new rv("Accessors not supported");
return "value" in r && (e[t] = r.value), e;
};
var iv = he, nv = Oe, sv = xi, Ct = iv ? function(a, e, t) {
return nv.f(a, e, sv(1, t));
} : function(a, e, t) {
return a[e] = t, a;
}, qo = { exports: {} }, Xa = he, ov = fe, Qo = Function.prototype, uv = Xa && Object.getOwnPropertyDescriptor, Ko = ov(Qo, "name"), lv = Ko && (function() {
}).name === "something", hv = Ko && (!Xa || Xa && uv(Qo, "name").configurable), $r = {
PROPER: lv,
CONFIGURABLE: hv
}, vv = L, fv = B, Wa = Si, cv = vv(Function.toString);
fv(Wa.inspectSource) || (Wa.inspectSource = function(a) {
return cv(a);
});
var $i = Wa.inspectSource, gv = _, dv = B, Nn = gv.WeakMap, pv = dv(Nn) && /native code/.test(String(Nn)), yv = Ei, mv = Ho, In = yv("keys"), wi = function(a) {
return In[a] || (In[a] = mv(a));
}, Ci = {}, bv = pv, Zo = _, xv = ae, Tv = Ct, ha = fe, va = Si, Ov = wi, Sv = Ci, Mn = "Object already initialized", qa = Zo.TypeError, Ev = Zo.WeakMap, gr, Tt, dr, $v = function(a) {
return dr(a) ? Tt(a) : gr(a, {});
}, wv = function(a) {
return function(e) {
var t;
if (!xv(e) || (t = Tt(e)).type !== a)
throw new qa("Incompatible receiver, " + a + " required");
return t;
};
};
if (bv || va.state) {
var de = va.state || (va.state = new Ev());
de.get = de.get, de.has = de.has, de.set = de.set, gr = function(a, e) {
if (de.has(a)) throw new qa(Mn);
return e.facade = a, de.set(a, e), e;
}, Tt = function(a) {
return de.get(a) || {};
}, dr = function(a) {
return de.has(a);
};
} else {
var Ye = Ov("state");
Sv[Ye] = !0, gr = function(a, e) {
if (ha(a, Ye)) throw new qa(Mn);
return e.facade = a, Tv(a, Ye, e), e;
}, Tt = function(a) {
return ha(a, Ye) ? a[Ye] : {};
}, dr = function(a) {
return ha(a, Ye);
};
}
var wr = {
set: gr,
get: Tt,
has: dr,
enforce: $v,
getterFor: wv
}, Ai = L, Cv = D, Av = B, Gt = fe, Qa = he, Pv = $r.CONFIGURABLE, Rv = $i, Jo = wr, Nv = Jo.enforce, Iv = Jo.get, _n = String, or = Object.defineProperty, Mv = Ai("".slice), _v = Ai("".replace), Vv = Ai([].join), Dv = Qa && !Cv(function() {
return or(function() {
}, "length", { value: 8 }).length !== 8;
}), Lv = String(String).split("String"), kv = qo.exports = function(a, e, t) {
Mv(_n(e), 0, 7) === "Symbol(" && (e = "[" + _v(_n(e), /^Symbol\(([^)]*)\).*$/, "$1") + "]"), t && t.getter && (e = "get " + e), t && t.setter && (e = "set " + e), (!Gt(a, "name") || Pv && a.name !== e) && (Qa ? or(a, "name", { value: e, configurable: !0 }) : a.name = e), Dv && t && Gt(t, "arity") && a.length !== t.arity && or(a, "length", { value: t.arity });
try {
t && Gt(t, "constructor") && t.constructor ? Qa && or(a, "prototype", { writable: !1 }) : a.prototype && (a.prototype = void 0);
} catch {
}
var r = Nv(a);
return Gt(r, "source") || (r.source = Vv(Lv, typeof e == "string" ? e : "")), a;
};
Function.prototype.toString = kv(function() {
return Av(this) && Iv(this).source || Rv(this);
}, "toString");
var eu = qo.exports, Bv = B, jv = Oe, Fv = eu, Uv = Oi, Ue = function(a, e, t, r) {
r || (r = {});
var i = r.enumerable, n = r.name !== void 0 ? r.name : e;
if (Bv(t) && Fv(t, n, r), r.global)
i ? a[e] = t : Uv(e, t);
else {
try {
r.unsafe ? a[e] && (i = !0) : delete a[e];
} catch {
}
i ? a[e] = t : jv.f(a, e, {
value: t,
enumerable: !1,
configurable: !r.nonConfigurable,
writable: !r.nonWritable
});
}
return a;
}, tu = {}, Gv = Math.ceil, zv = Math.floor, Hv = Math.trunc || function(e) {
var t = +e;
return (t > 0 ? zv : Gv)(t);
}, Yv = Hv, Cr = function(a) {
var e = +a;
return e !== e || e === 0 ? 0 : Yv(e);
}, Xv = Cr, Wv = Math.max, qv = Math.min, Qv = function(a, e) {
var t = Xv(a);
return t < 0 ? Wv(t + e, 0) : qv(t, e);
}, Kv = Cr, Zv = Math.min, ot = function(a) {
var e = Kv(a);
return e > 0 ? Zv(e, 9007199254740991) : 0;
}, Jv = ot, Pi = function(a) {
return Jv(a.length);
}, ef = $t, tf = Qv, rf = Pi, af = function(a) {
return function(e, t, r) {
var i = ef(e), n = rf(i);
if (n === 0) return !a && -1;
var o = tf(r, n), s;
if (a && t !== t) {
for (; n > o; )
if (s = i[o++], s !== s) return !0;
} else for (; n > o; o++)
if ((a || o in i) && i[o] === t) return a || o || 0;
return !a && -1;
};
}, ru = {
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf: af(!1)
}, nf = L, fa = fe, sf = $t, of = ru.indexOf, uf = Ci, Vn = nf([].push), au = function(a, e) {
var t = sf(a), r = 0, i = [], n;
for (n in t) !fa(uf, n) && fa(t, n) && Vn(i, n);
for (; e.length > r; ) fa(t, n = e[r++]) && (~of(i, n) || Vn(i, n));
return i;
}, Ri = [
"constructor",
"hasOwnProperty",
"isPrototypeOf",
"propertyIsEnumerable",
"toLocaleString",
"toString",
"valueOf"
], lf = au, hf = Ri, vf = hf.concat("length", "prototype");
tu.f = Object.getOwnPropertyNames || function(e) {
return lf(e, vf);
};
var iu = {};
iu.f = Object.getOwnPropertySymbols;
var ff = Fe, cf = L, gf = tu, df = iu, pf = J, yf = cf([].concat), mf = ff("Reflect", "ownKeys") || function(e) {
var t = gf.f(pf(e)), r = df.f;
return r ? yf(t, r(e)) : t;
}, Dn = fe, bf = mf, xf = Et, Tf = Oe, Of = function(a, e, t) {
for (var r = bf(e), i = Tf.f, n = xf.f, o = 0; o < r.length; o++) {
var s = r[o];
!Dn(a, s) && !(t && Dn(t, s)) && i(a, s, n(e, s));
}
}, Sf = D, Ef = B, $f = /#|\.prototype\./, At = function(a, e) {
var t = Cf[wf(a)];
return t === Pf ? !0 : t === Af ? !1 : Ef(e) ? Sf(e) : !!e;
}, wf = At.normalize = function(a) {
return String(a).replace($f, ".").toLowerCase();
}, Cf = At.data = {}, Af = At.NATIVE = "N", Pf = At.POLYFILL = "P", nu = At, zt = _, Rf = Et.f, Nf = Ct, If = Ue, Mf = Oi, _f = Of, Vf = nu, ee = function(a, e) {
var t = a.target, r = a.global, i = a.stat, n, o, s, u, l, h;
if (r ? o = zt : i ? o = zt[t] || Mf(t, {}) : o = zt[t] && zt[t].prototype, o) for (s in e) {
if (l = e[s], a.dontCallGetSet ? (h = Rf(o, s), u = h && h.value) : u = o[s], n = Vf(r ? s : t + (i ? "." : "#") + s, a.forced), !n && u !== void 0) {
if (typeof l == typeof u) continue;
_f(l, u);
}
(a.sham || u && u.sham) && Nf(l, "sham", !0), If(o, s, l, a);
}
}, vt = _, Df = wt, Lf = je, Ht = function(a) {
return Df.slice(0, a.length) === a;
}, su = function() {
return Ht("Bun/") ? "BUN" : Ht("Cloudflare-Workers") ? "CLOUDFLARE" : Ht("Deno/") ? "DENO" : Ht("Node.js/") ? "NODE" : vt.Bun && typeof Bun.version == "string" ? "BUN" : vt.Deno && typeof Deno.version == "object" ? "DENO" : Lf(vt.process) === "process" ? "NODE" : vt.window && vt.document ? "BROWSER" : "REST";
}(), kf = su, Ar = kf === "NODE", Bf = _, jf = Bf, Ff = L, Uf = Te, Gf = function(a, e, t) {
try {
return Ff(Uf(Object.getOwnPropertyDescriptor(a, e)[t]));
} catch {
}
}, zf = ae, Hf = function(a) {
return zf(a) || a === null;
}, Yf = Hf, Xf = String, Wf = TypeError, qf = function(a) {
if (Yf(a)) return a;
throw new Wf("Can't set " + Xf(a) + " as a prototype");
}, Qf = Gf, Kf = ae, Zf = ve, Jf = qf, ou = Object.setPrototypeOf || ("__proto__" in {} ? function() {
var a = !1, e = {}, t;
try {
t = Qf(Object.prototype, "__proto__", "set"), t(e, []), a = e instanceof Array;
} catch {
}
return function(i, n) {
return Zf(i), Jf(n), Kf(i) && (a ? t(i, n) : i.__proto__ = n), i;
};
}() : void 0), ec = Oe.f, tc = fe, rc = z, Ln = rc("toStringTag"), Pr = function(a, e, t) {
a && !t && (a = a.prototype), a && !tc(a, Ln) && ec(a, Ln, { configurable: !0, value: e });
}, kn = eu, ac = Oe, ic = function(a, e, t) {
return t.get && kn(t.get, e, { getter: !0 }), t.set && kn(t.set, e, { setter: !0 }), ac.f(a, e, t);
}, nc = Fe, sc = ic, oc = z, uc = he, Bn = oc("species"), lc = function(a) {
var e = nc(a);
uc && e && !e[Bn] && sc(e, Bn, {
configurable: !0,
get: function() {
return this;
}
});
}, hc = Tr, vc = TypeError, fc = function(a, e) {
if (hc(e, a)) return a;
throw new vc("Incorrect invocation");
}, cc = z, gc = cc("toStringTag"), uu = {};
uu[gc] = "z";
var dc = String(uu) === "[object z]", pc = dc, yc = B, ur = je, mc = z, bc = mc("toStringTag"), xc = Object, Tc = ur(/* @__PURE__ */ function() {
return arguments;
}()) === "Arguments", Oc = function(a, e) {
try {
return a[e];
} catch {
}
}, Ni = pc ? ur : function(a) {
var e, t, r;
return a === void 0 ? "Undefined" : a === null ? "Null" : typeof (t = Oc(e = xc(a), bc)) == "string" ? t : Tc ? ur(e) : (r = ur(e)) === "Object" && yc(e.callee) ? "Arguments" : r;
}, Sc = L, Ec = D, lu = B, $c = Ni, wc = Fe, Cc = $i, hu = function() {
}, vu = wc("Reflect", "construct"), Ii = /^\s*(?:class|function)\b/, Ac = Sc(Ii.exec), Pc = !Ii.test(hu), ft = function(e) {
if (!lu(e)) return !1;
try {
return vu(hu, [], e), !0;
} catch {
return !1;
}
}, fu = function(e) {
if (!lu(e)) return !1;
switch ($c(e)) {
case "AsyncFunction":
case "GeneratorFunction":
case "AsyncGeneratorFunction":
return !1;
}
try {
return Pc || !!Ac(Ii, Cc(e));
} catch {
return !0;
}
};
fu.sham = !0;
var Rc = !vu || Ec(function() {
var a;
return ft(ft.call) || !ft(Object) || !ft(function() {
a = !0;
}) || a;
}) ? fu : ft, Nc = Rc, Ic = Or, Mc = TypeError, _c = function(a) {
if (Nc(a)) return a;
throw new Mc(Ic(a) + " is not a constructor");
}, jn = J, Vc = _c, Dc = xr, Lc = z, kc = Lc("species"), cu = function(a, e) {
var t = jn(a).constructor, r;
return t === void 0 || Dc(r = jn(t)[kc]) ? e : Vc(r);
}, Bc = br, gu = Function.prototype, Fn = gu.apply, Un = gu.call, du = typeof Reflect == "object" && Reflect.apply || (Bc ? Un.bind(Fn) : function() {
return Un.apply(Fn, arguments);
}), jc = je, Fc = L, Rr = function(a) {
if (jc(a) === "Function") return Fc(a);
}, Gn = Rr, Uc = Te, Gc = br, zc = Gn(Gn.bind), Mi = function(a, e) {
return Uc(a), e === void 0 ? a : Gc ? zc(a, e) : function() {
return a.apply(e, arguments);
};
}, Hc = Fe, pu = Hc("document", "documentElement"), Yc = L, Xc = Yc([].slice), Wc = TypeError, qc = function(a, e) {
if (a < e) throw new Wc("Not enough arguments");
return a;
}, Qc = wt, yu = /(?:ipad|iphone|ipod).*applewebkit/i.test(Qc), ie = _, Kc = du, Zc = Mi, zn = B, Jc = fe, mu = D, Hn = pu, eg = Xc, Yn = Er, tg = qc, rg = yu, ag = Ar, Ka = ie.setImmediate, Xn = ie.clearImmediate, ig = ie.process, ca = ie.Dispatch, ng = ie.Function, Wn = ie.MessageChannel, sg = ie.String, ga = 0, bt = {}, qn = "onreadystatechange", Ot, Ie, da, pa;
mu(function() {
Ot = ie.location;
});
var _i = function(a) {
if (Jc(bt, a)) {
var e = bt[a];
delete bt[a], e();
}
}, ya = function(a) {
return function() {
_i(a);
};
}, Qn = function(a) {
_i(a.data);
}, Kn = function(a) {
ie.postMessage(sg(a), Ot.protocol + "//" + Ot.host);
};
(!Ka || !Xn) && (Ka = function(e) {
tg(arguments.length, 1);
var t = zn(e) ? e : ng(e), r = eg(arguments, 1);
return bt[++ga] = function() {
Kc(t, void 0, r);
}, Ie(ga), ga;
}, Xn = function(e) {
delete bt[e];
}, ag ? Ie = function(a) {
ig.nextTick(ya(a));
} : ca && ca.now ? Ie = function(a) {
ca.now(ya(a));
} : Wn && !rg ? (da = new Wn(), pa = da.port2, da.port1.onmessage = Qn, Ie = Zc(pa.postMessage, pa)) : ie.addEventListener && zn(ie.postMessage) && !ie.importScripts && Ot && Ot.protocol !== "file:" && !mu(Kn) ? (Ie = Kn, ie.addEventListener("message", Qn, !1)) : qn in Yn("script") ? Ie = function(a) {
Hn.appendChild(Yn("script"))[qn] = function() {
Hn.removeChild(this), _i(a);
};
} : Ie = function(a) {
setTimeout(ya(a), 0);
});
var bu = {
set: Ka
}, Zn = _, og = he, ug = Object.getOwnPropertyDescriptor, lg = function(a) {
if (!og) return Zn[a];
var e = ug(Zn, a);
return e && e.value;
}, xu = function() {
this.head = null, this.tail = null;
};
xu.prototype = {
add: function(a) {
var e = { item: a, next: null }, t = this.tail;
t ? t.next = e : this.head = e, this.tail = e;
},
get: function() {
var a = this.head;
if (a) {
var e = this.head = a.next;
return e === null && (this.tail = null), a.item;
}
}
};
var Tu = xu, hg = wt, vg = /ipad|iphone|ipod/i.test(hg) && typeof Pebble < "u", fg = wt, cg = /web0s(?!.*chrome)/i.test(fg), at = _, gg = lg, Jn = Mi, ma = bu.set, dg = Tu, pg = yu, yg = vg, mg = cg, ba = Ar, es = at.MutationObserver || at.WebKitMutationObserver, ts = at.document, rs = at.process, Yt = at.Promise, Za = gg("queueMicrotask"), Xe, xa, Ta, Xt, as;
if (!Za) {
var Wt = new dg(), qt = function() {
var a, e;
for (ba && (a = rs.domain) && a.exit(); e = Wt.get(); ) try {
e();
} catch (t) {
throw Wt.head && Xe(), t;
}
a && a.enter();
};
!pg && !ba && !mg && es && ts ? (xa = !0, Ta = ts.createTextNode(""), new es(qt).observe(Ta, { characterData: !0 }), Xe = function() {
Ta.data = xa = !xa;
}) : !yg && Yt && Yt.resolve ? (Xt = Yt.resolve(void 0), Xt.constructor = Yt, as = Jn(Xt.then, Xt), Xe = function() {
as(qt);
}) : ba ? Xe = function() {
rs.nextTick(qt);
} : (ma = Jn(ma, at), Xe = function() {
ma(qt);
}), Za = function(a) {
Wt.head || Xe(), Wt.add(a);
};
}
var bg = Za, xg = function(a, e) {
try {
arguments.length === 1 ? console.error(a) : console.error(a, e);
} catch {
}
}, Vi = function(a) {
try {
return { error: !1, value: a() };
} catch (e) {
return { error: !0, value: e };
}
}, Tg = _, Nr = Tg.Promise, Og = _, xt = Nr, Sg = B, Eg = nu, $g = $i, wg = z, is = su, Oa = Ti;
xt && xt.prototype;
var Cg = wg("species"), Ja = !1, Ou = Sg(Og.PromiseRejectionEvent), Ag = Eg("Promise", function() {
var a = $g(xt), e = a !== String(xt);
if (!e && Oa === 66) return !0;
if (!Oa || Oa < 51 || !/native code/.test(a)) {
var t = new xt(function(n) {
n(1);
}), r = function(n) {
n(function() {
}, function() {
});
}, i = t.constructor = {};
if (i[Cg] = r, Ja = t.then(function() {
}) instanceof r, !Ja) return !0;
}
return !e && (is === "BROWSER" || is === "DENO") && !Ou;
}), Pt = {
CONSTRUCTOR: Ag,
REJECTION_EVENT: Ou,
SUBCLASSING: Ja
}, ut = {}, ns = Te, Pg = TypeError, Rg = function(a) {
var e, t;
this.promise = new a(function(r, i) {
if (e !== void 0 || t !== void 0) throw new Pg("Bad Promise constructor");
e = r, t = i;
}), this.resolve = ns(e), this.reject = ns(t);
};
ut.f = function(a) {
return new Rg(a);
};
var Ng = ee, pr = Ar, we = _, Ig = jf, it = Y, ss = Ue, os = ou, Mg = Pr, _g = lc, Vg = Te, lr = B, Dg = ae, Lg = fc, kg = cu, Su = bu.set, Di = bg, Bg = xg, jg = Vi, Fg = Tu, Eu = wr, yr = Nr, Li = Pt, $u = ut, Ir = "Promise", wu = Li.CONSTRUCTOR, Ug = Li.REJECTION_EVENT, Gg = Li.SUBCLASSING, Sa = Eu.getterFor(Ir), zg = Eu.set, qe = yr && yr.prototype, Le = yr, Qt = qe, Cu = we.TypeError, ei = we.document, ki = we.process, ti = $u.f, Hg = ti, Yg = !!(ei && ei.createEvent && we.dispatchEvent), Au = "unhandledrejection", Xg = "rejectionhandled", us = 0, Pu = 1, Wg = 2, Bi = 1, Ru = 2, Kt, ls, Nu, hs, Iu = function(a) {
var e;
return Dg(a) && lr(e = a.then) ? e : !1;
}, Mu = function(a, e) {
var t = e.value, r = e.state === Pu, i = r ? a.ok : a.fail, n = a.resolve, o = a.reject, s = a.domain, u, l, h;
try {
i ? (r || (e.rejection === Ru && Qg(e), e.rejection = Bi), i === !0 ? u = t : (s && s.enter(), u = i(t), s && (s.exit(), h = !0)), u === a.promise ? o(new Cu("Promise-chain cycle")) : (l = Iu(u)) ? it(l, u, n, o) : n(u)) : o(t);
} catch (f) {
s && !h && s.exit(), o(f);
}
}, _u = function(a, e) {
a.notified || (a.notified = !0, Di(function() {
for (var t = a.reactions, r; r = t.get(); )
Mu(r, a);
a.notified = !1, e && !a.rejection && qg(a);
}));
}, Vu = function(a, e, t) {
var r, i;
Yg ? (r = ei.createEvent("Event"), r.promise = e, r.reason = t, r.initEvent(a, !1, !0), we.dispatchEvent(r)) : r = { promise: e, reason: t }, !Ug && (i = we["on" + a]) ? i(r) : a === Au && Bg("Unhandled promise rejection", t);
}, qg = function(a) {
it(Su, we, function() {
var e = a.facade, t = a.value, r = vs(a), i;
if (r && (i = jg(function() {
pr ? ki.emit("unhandledRejection", t, e) : Vu(Au, e, t);
}), a.rejection = pr || vs(a) ? Ru : Bi, i.error))
throw i.value;
});
}, vs = function(a) {
return a.rejection !== Bi && !a.parent;
}, Qg = function(a) {
it(Su, we, function() {
var e = a.facade;
pr ? ki.emit("rejectionHandled", e) : Vu(Xg, e, a.value);
});
}, Ze = function(a, e, t) {
return function(r) {
a(e, r, t);
};
}, et = function(a, e, t) {
a.done || (a.done = !0, t && (a = t), a.value = e, a.state = Wg, _u(a, !0));
}, ri = function(a, e, t) {
if (!a.done) {
a.done = !0, t && (a = t);
try {
if (a.facade === e) throw new Cu("Promise can't be resolved itself");
var r = Iu(e);
r ? Di(function() {
var i = { done: !1 };
try {
it(
r,
e,
Ze(ri, i, a),
Ze(et, i, a)
);
} catch (n) {
et(i, n, a);
}
}) : (a.value = e, a.state = Pu, _u(a, !1));
} catch (i) {
et({ done: !1 }, i, a);
}
}
};
if (wu && (Le = function(e) {
Lg(this, Qt), Vg(e), it(Kt, this);
var t = Sa(this);
try {
e(Ze(ri, t), Ze(et, t));
} catch (r) {
et(t, r);
}
}, Qt = Le.prototype, Kt = function(e) {
zg(this, {
type: Ir,
done: !1,
notified: !1,
parent: !1,
reactions: new Fg(),
rejection: !1,
state: us,
value: null
});
}, Kt.prototype = ss(Qt, "then", function(e, t) {
var r = Sa(this), i = ti(kg(this, Le));
return r.parent = !0, i.ok = lr(e) ? e : !0, i.fail = lr(t) && t, i.domain = pr ? ki.domain : void 0, r.state === us ? r.reactions.add(i) : Di(function() {
Mu(i, r);
}), i.promise;
}), ls = function() {
var a = new Kt(), e = Sa(a);
this.promise = a, this.resolve = Ze(ri, e), this.reject = Ze(et, e);
}, $u.f = ti = function(a) {
return a === Le || a === Nu ? new ls(a) : Hg(a);
}, lr(yr) && qe !== Object.prototype)) {
hs = qe.then, Gg || ss(qe, "then", function(e, t) {
var r = this;
return new Le(function(i, n) {
it(hs, r, i, n);
}).then(e, t);
}, { unsafe: !0 });
try {
delete qe.constructor;
} catch {
}
os && os(qe, Qt);
}
Ng({ global: !0, constructor: !0, wrap: !0, forced: wu }, {
Promise: Le
});
Nu = Ig.Promise;
Mg(Le, Ir, !1);
_g(Ir);
var Rt = {}, Kg = z, Zg = Rt, Jg = Kg("iterator"), ed = Array.prototype, td = function(a) {
return a !== void 0 && (Zg.Array === a || ed[Jg] === a);
}, rd = Ni, fs = st, ad = xr, id = Rt, nd = z, sd = nd("iterator"), Du = function(a) {
if (!ad(a)) return fs(a, sd) || fs(a, "@@iterator") || id[rd(a)];
}, od = Y, ud = Te, ld = J, hd = Or, vd = Du, fd = TypeError, cd = function(a, e) {
var t = arguments.length < 2 ? vd(a) : e;
if (ud(t)) return ld(od(t, a));
throw new fd(hd(a) + " is not iterable");
}, gd = Y, cs = J, dd = st, pd = function(a, e, t) {
var r, i;
cs(a);
try {
if (r = dd(a, "return"), !r) {
if (e === "throw") throw t;
return t;
}
r = gd(r, a);
} catch (n) {
i = !0, r = n;
}
if (e === "throw") throw t;
if (i) throw r;
return cs(r), t;
}, yd = Mi, md = Y, bd = J, xd = Or, Td = td, Od = Pi, gs = Tr, Sd = cd, Ed = Du, ds = pd, $d = TypeError, hr = function(a, e) {
this.stopped = a, this.result = e;
}, ps = hr.prototype, Lu = function(a, e, t) {
var r = t && t.that, i = !!(t && t.AS_ENTRIES), n = !!(t && t.IS_RECORD), o = !!(t && t.IS_ITERATOR), s = !!(t && t.INTERRUPTED), u = yd(e, r), l, h, f, c, v, g, d, p = function(x) {
return l && ds(l, "normal"), new hr(!0, x);
}, y = function(x) {
return i ? (bd(x), s ? u(x[0], x[1], p) : u(x[0], x[1])) : s ? u(x, p) : u(x);
};
if (n)
l = a.iterator;
else if (o)
l = a;
else {
if (h = Ed(a), !h) throw new $d(xd(a) + " is not iterable");
if (Td(h)) {
for (f = 0, c = Od(a); c > f; f++)
if (v = y(a[f]), v && gs(ps, v)) return v;
return new hr(!1);
}
l = Sd(a, h);
}
for (g = n ? a.next : l.next; !(d = md(g, l)).done; ) {
try {
v = y(d.value);
} catch (x) {
ds(l, "throw", x);
}
if (typeof v == "object" && v && gs(ps, v)) return v;
}
return new hr(!1);
}, wd = z, ku = wd("iterator"), Bu = !1;
try {
var Cd = 0, ys = {
next: function() {
return { done: !!Cd++ };
},
return: function() {
Bu = !0;
}
};
ys[ku] = function() {
return this;
}, Array.from(ys, function() {
throw 2;
});
} catch {
}
var Ad = function(a, e) {
try {
if (!e && !Bu) return !1;
} catch {
return !1;
}
var t = !1;
try {
var r = {};
r[ku] = function() {
return {
next: function() {
return { done: t = !0 };
}
};
}, a(r);
} catch {
}
return t;
}, Pd = Nr, Rd = Ad, Nd = Pt.CONSTRUCTOR, ju = Nd || !Rd(function(a) {
Pd.all(a).then(void 0, function() {
});
}), Id = ee, Md = Y, _d = Te, Vd = ut, Dd = Vi, Ld = Lu, kd = ju;
Id({ target: "Promise", stat: !0, forced: kd }, {
all: function(e) {
var t = this, r = Vd.f(t), i = r.resolve, n = r.reject, o = Dd(function() {
var s = _d(t.resolve), u = [], l = 0, h = 1;
Ld(e, function(f) {
var c = l++, v = !1;
h++, Md(s, t, f).then(function(g) {
v || (v = !0, u[c] = g, --h || i(u));
}, n);
}), --h || i(u);
});
return o.error && n(o.value), r.promise;
}
});
var Bd = ee, jd = Pt.CONSTRUCTOR, ai = Nr, Fd = Fe, Ud = B, Gd = Ue, ms = ai && ai.prototype;
Bd({ target: "Promise", proto: !0, forced: jd, real: !0 }, {
catch: function(a) {
return this.then(void 0, a);
}
});
if (Ud(ai)) {
var bs = Fd("Promise").prototype.catch;
ms.catch !== bs && Gd(ms, "catch", bs, { unsafe: !0 });
}
var zd = ee, Hd = Y, Yd = Te, Xd = ut, Wd = Vi, qd = Lu, Qd = ju;
zd({ target: "Promise", stat: !0, forced: Qd }, {
race: function(e) {
var t = this, r = Xd.f(t), i = r.reject, n = Wd(function() {
var o = Yd(t.resolve);
qd(e, function(s) {
Hd(o, t, s).then(r.resolve, i);
});
});
return n.error && i(n.value), r.promise;
}
});
var Kd = ee, Zd = ut, Jd = Pt.CONSTRUCTOR;
Kd({ target: "Promise", stat: !0, forced: Jd }, {
reject: function(e) {
var t = Zd.f(this), r = t.reject;
return r(e), t.promise;
}
});
var ep = J, tp = ae, rp = ut, ap = function(a, e) {
if (ep(a), tp(e) && e.constructor === a) return e;
var t = rp.f(a), r = t.resolve;
return r(e), t.promise;
}, ip = ee, np = Fe, sp = Pt.CONSTRUCTOR, op = ap;
np("Promise");
ip({ target: "Promise", stat: !0, forced: sp }, {
resolve: function(e) {
return op(this, e);
}
});
function xs(a, e, t, r, i, n, o) {
try {
var s = a[n](o), u = s.value;
} catch (l) {
return void t(l);
}
s.done ? e(u) : Promise.resolve(u).then(r, i);
}
function xe(a) {
return function() {
var e = this, t = arguments;
return new Promise(function(r, i) {
var n = a.apply(e, t);
function o(u) {
xs(n, r, i, o, s, "next", u);
}
function s(u) {
xs(n, r, i, o, s, "throw", u);
}
o(void 0);
});
};
}
var up = Ni, lp = String, pe = function(a) {
if (up(a) === "Symbol") throw new TypeError("Cannot convert a Symbol value to a string");
return lp(a);
}, hp = J, Fu = function() {
var a = hp(this), e = "";
return a.hasIndices && (e += "d"), a.global && (e += "g"), a.ignoreCase && (e += "i"), a.multiline && (e += "m"), a.dotAll && (e += "s"), a.unicode && (e += "u"), a.unicodeSets && (e += "v"), a.sticky && (e += "y"), e;
}, ji = D, vp = _, Fi = vp.RegExp, Ui = ji(function() {
var a = Fi("a", "y");
return a.lastIndex = 2, a.exec("abcd") !== null;
});
Ui || ji(function() {
return !Fi("a", "y").sticky;
});
var fp = Ui || ji(function() {
var a = Fi("^r", "gy");
return a.lastIndex = 2, a.exec("str") !== null;
}), Uu = {
BROKEN_CARET: fp,
UNSUPPORTED_Y: Ui
}, Gu = {}, cp = au, gp = Ri, dp = Object.keys || function(e) {
return cp(e, gp);
}, pp = he, yp = Wo, mp = Oe, bp = J, xp = $t, Tp = dp;
Gu.f = pp && !yp ? Object.defineProperties : function(e, t) {
bp(e);
for (var r = xp(t), i = Tp(t), n = i.length, o = 0, s; n > o; ) mp.f(e, s = i[o++], r[s]);
return e;
};
var Op = J, Sp = Gu, Ts = Ri, Ep = Ci, $p = pu, wp = Er, Cp = wi, Os = ">", Ss = "<", ii = "prototype", ni = "script", zu = Cp("IE_PROTO"), Ea = function() {
}, Hu = function(a) {
return Ss + ni + Os + a + Ss + "/" + ni + Os;
}, Es = function(a) {
a.write(Hu("")), a.close();
var e = a.parentWindow.Object;
return a = null, e;
}, Ap = function() {
var a = wp("iframe"), e = "java" + ni + ":", t;
return a.style.display = "none", $p.appendChild(a), a.src = String(e), t = a.contentWindow.document, t.open(), t.write(Hu("document.F=Object")), t.close(), t.F;
}, Zt, vr = function() {
try {
Zt = new ActiveXObject("htmlfile");
} catch {
}
vr = typeof document < "u" ? document.domain && Zt ? Es(Zt) : Ap() : Es(Zt);
for (var a = Ts.length; a--; ) delete vr[ii][Ts[a]];
return vr();
};
Ep[zu] = !0;
var Gi = Object.create || function(e, t) {
var r;
return e !== null ? (Ea[ii] = Op(e), r = new Ea(), Ea[ii] = null, r[zu] = e) : r = vr(), t === void 0 ? r : Sp.f(r, t);
}, Pp = D, Rp = _, Np = Rp.RegExp, Ip = Pp(function() {
var a = Np(".", "s");
return !(a.dotAll && a.test(`
`) && a.flags === "s");
}), Mp = D, _p = _, Vp = _p.RegExp, Dp = Mp(function() {
var a = Vp("(?<a>b)", "g");
return a.exec("b").groups.a !== "b" || "b".replace(a, "$<a>c") !== "bc";
}), Je = Y, Mr = L, Lp = pe, kp = Fu, Bp = Uu, jp = Ei, Fp = Gi, Up = wr.get, Gp = Ip, zp = Dp, Hp = jp("native-string-replace", String.prototype.replace), mr = RegExp.prototype.exec, si = mr, Yp = Mr("".charAt), Xp = Mr("".indexOf), Wp = Mr("".replace), $a = Mr("".slice), oi = function() {
var a = /a/, e = /b*/g;
return Je(mr, a, "a"), Je(mr, e, "a"), a.lastIndex !== 0 || e.lastIndex !== 0;
}(), Yu = Bp.BROKEN_CARET, ui = /()??/.exec("")[1] !== void 0, qp = oi || ui || Yu || Gp || zp;
qp && (si = function(e) {
var t = this, r = Up(t), i = Lp(e), n = r.raw, o, s, u, l, h, f, c;
if (n)
return n.lastIndex = t.lastIndex, o = Je(si, n, i), t.lastIndex = n.lastIndex, o;
var v = r.groups, g = Yu && t.sticky, d = Je(kp, t), p = t.source, y = 0, x = i;
if (g && (d = Wp(d, "y", ""), Xp(d, "g") === -1 && (d += "g"), x = $a(i, t.lastIndex), t.lastIndex > 0 && (!t.multiline || t.multiline && Yp(i, t.lastIndex - 1) !== `
`) && (p = "(?: " + p + ")", x = " " + x, y++), s = new RegExp("^(?:" + p + ")", d)), ui && (s = new RegExp("^" + p + "$(?!\\s)", d)), oi && (u = t.lastIndex), l = Je(mr, g ? s : t, x), g ? l ? (l.input = $a(l.input, y), l[0] = $a(l[0], y), l.index = t.lastIndex, t.lastIndex += l[0].length) : t.lastIndex = 0 : oi && l && (t.lastIndex = t.global ? l.index + l[0].length : u), ui && l && l.length > 1 && Je(Hp, l[0], s, function() {
for (h = 1; h < arguments.length - 2; h++)
arguments[h] === void 0 && (l[h] = void 0);
}), l && v)
for (l.groups = f = Fp(null), h = 0; h < v.length; h++)
c = v[h], f[c[0]] = l[c[1]];
return l;
});
var zi = si, Qp = ee, $s = zi;
Qp({ target: "RegExp", proto: !0, forced: /./.exec !== $s }, {
exec: $s
});
var ws = Y, Cs = Ue, Kp = zi, As = D, Xu = z, Zp = Ct, Jp = Xu("species"), wa = RegExp.prototype, Hi = function(a, e, t, r) {
var i = Xu(a), n = !As(function() {
var l = {};
return l[i] = function() {
return 7;
}, ""[a](l) !== 7;
}), o = n && !As(function() {
var l = !1, h = /a/;
return a === "split" && (h = {}, h.constructor = {}, h.constructor[Jp] = function() {
return h;
}, h.flags = "", h[i] = /./[i]), h.exec = function() {
return l = !0, null;
}, h[i](""), !l;
});
if (!n || !o || t) {
var s = /./[i], u = e(i, ""[a], function(l, h, f, c, v) {
var g = h.exec;
return g === Kp || g === wa.exec ? n && !v ? { done: !0, value: ws(s, h, f, c) } : { done: !0, value: ws(l, f, h, c) } : { done: !1 };
});
Cs(String.prototype, a, u[0]), Cs(wa, i, u[1]);
}
r && Zp(wa[i], "sham", !0);
}, Yi = L, ey = Cr, ty = pe, ry = ve, ay = Yi("".charAt), Ps = Yi("".charCodeAt), iy = Yi("".slice), ny = function(a) {
return function(e, t) {
var r = ty(ry(e)), i = ey(t), n = r.length, o, s;
return i < 0 || i >= n ? a ? "" : void 0 : (o = Ps(r, i), o < 55296 || o > 56319 || i + 1 === n || (s = Ps(r, i + 1)) < 56320 || s > 57343 ? a ? ay(r, i) : o : a ? iy(r, i, i + 2) : (o - 55296 << 10) + (s - 56320) + 65536);
};
}, sy = {
// `String.prototype.at` method
// https://github.com/mathiasbynens/String.prototype.at
charAt: ny(!0)
}, oy = sy.charAt, Xi = function(a, e, t) {
return e + (t ? oy(a, e).length : 1);
}, uy = _, ly = D, Rs = uy.RegExp, hy = !ly(function() {
var a = !0;
try {
Rs(".", "d");
} catch {
a = !1;
}
var e = {}, t = "", r = a ? "dgimsy" : "gimsy", i = function(u, l) {
Object.defineProperty(e, u, { get: function() {
return t += l, !0;
} });
}, n = {
dotAll: "s",
global: "g",
ignoreCase: "i",
multiline: "m",
sticky: "y"
};
a && (n.hasIndices = "d");
for (var o in n) i(o, n[o]);
var s = Object.getOwnPropertyDescriptor(Rs.prototype, "flags").get.call(e);
return s !== r || t !== r;
}), vy = { correct: hy }, fy = Y, cy = fe, gy = Tr, Ns = vy, dy = Fu, py = RegExp.prototype, Wi = Ns.correct ? function(a) {
return a.flags;
} : function(a) {
return !Ns.correct && gy(py, a) && !cy(a, "flags") ? fy(dy, a) : a.flags;
}, Is = Y, yy = J, my = B, by = je, xy = zi, Ty = TypeError, qi = function(a, e) {
var t = a.exec;
if (my(t)) {
var r = Is(t, a, e);
return r !== null && yy(r), r;
}
if (by(a) === "RegExp") return Is(xy, a, e);
throw new Ty("RegExp#exec called on incompatible receiver");
}, Oy = Y, Sy = L, Ey = Hi, $y = J, wy = ae, Cy = ot, Jt = pe, Ay = ve, Py = st, Ry = Xi, Ny = Wi, Ms = qi, _s = Sy("".indexOf);
Ey("match", function(a, e, t) {
return [
// `String.prototype.match` method
// https://tc39.es/ecma262/#sec-string.prototype.match
function(i) {
var n = Ay(this), o = wy(i) ? Py(i, a) : void 0;
return o ? Oy(o, i, n) : new RegExp(i)[a](Jt(n));
},
// `RegExp.prototype[@@match]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@match
function(r) {
var i = $y(this), n = Jt(r), o = t(e, i, n);
if (o.done) return o.value;
var s = Jt(Ny(i));
if (_s(s, "g") === -1) return Ms(i, n);
var u = _s(s, "u") !== -1;
i.lastIndex = 0;
for (var l = [], h = 0, f; (f = Ms(i, n)) !== null; ) {
var c = Jt(f[0]);
l[h] = c, c === "" && (i.lastIndex = Ry(n, Cy(i.lastIndex), u)), h++;
}
return h === 0 ? null : l;
}
];
});
var Qi = L, Iy = Sr, My = Math.floor, Ca = Qi("".charAt), _y = Qi("".replace), Aa = Qi("".slice), Vy = /\$([$&'`]|\d{1,2}|<[^>]*>)/g, Dy = /\$([$&'`]|\d{1,2})/g, Ly = function(a, e, t, r, i, n) {
var o = t + a.length, s = r.length, u = Dy;
return i !== void 0 && (i = Iy(i), u = Vy), _y(n, u, function(l, h) {
var f;
switch (Ca(h, 0)) {
case "$":
return "$";
case "&":
return a;
case "`":
return Aa(e, 0, t);
case "'":
return Aa(e, o);
case "<":
f = i[Aa(h, 1, -1)];
break;
default:
var c = +h;
if (c === 0) return l;
if (c > s) {
var v = My(c / 10);
return v === 0 ? l : v <= s ? r[v - 1] === void 0 ? Ca(h, 1) : r[v - 1] + Ca(h, 1) : l;
}
f = r[c - 1];
}
return f === void 0 ? "" : f;
});
}, ky = du, Vs = Y, _r = L, By = Hi, jy = D, Fy = J, Uy = B, Gy = ae, zy = Cr, Hy = ot, Me = pe, Yy = ve, Xy = Xi, Wy = st, qy = Ly, Qy = Wi, Ky = qi, Zy = z, li = Zy("replace"), Jy = Math.max, em = Math.min, tm = _r([].concat), Pa = _r([].push), er = _r("".indexOf), Ds = _r("".slice), rm = function(a) {
return a === void 0 ? a : String(a);
}, am = function() {
return "a".replace(/./, "$0") === "$0";
}(), Ls = function() {
return /./[li] ? /./[li]("a", "$0") === "" : !1;
}(), im = !jy(function() {
var a = /./;
return a.exec = function() {
var e = [];
return e.groups = { a: "7" }, e;
}, "".replace(a, "$<a>") !== "7";
});
By("replace", function(a, e, t) {
var r = Ls ? "$" : "$0";
return [
// `String.prototype.replace` method
// https://tc39.es/ecma262/#sec-string.prototype.replace
function(n, o) {
var s = Yy(this), u = Gy(n) ? Wy(n, li) : void 0;
return u ? Vs(u, n, s, o) : Vs(e, Me(s), n, o);
},
// `RegExp.prototype[@@replace]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
function(i, n) {
var o = Fy(this), s = Me(i);
if (typeof n == "string" && er(n, r) === -1 && er(n, "$<") === -1) {
var u = t(e, o, s, n);
if (u.done) return u.value;
}
var l = Uy(n);
l || (n = Me(n));
var h = Me(Qy(o)), f = er(h, "g") !== -1, c;
f && (c = er(h, "u") !== -1, o.lastIndex = 0);
for (var v = [], g; g = Ky(o, s), !(g === null || (Pa(v, g), !f)); ) {
var d = Me(g[0]);
d === "" && (o.lastIndex = Xy(s, Hy(o.lastIndex), c));
}
for (var p = "", y = 0, x = 0; x < v.length; x++) {
g = v[x];
for (var b = Me(g[0]), T = Jy(em(zy(g.index), s.length), 0), $ = [], E, O = 1; O < g.length; O++) Pa($, rm(g[O]));
var C = g.groups;
if (l) {
var P = tm([b], $, T, s);
C !== void 0 && Pa(P, C), E = Me(ky(n, void 0, P));
} else
E = qy(b, s, T, $, C, n);
T >= y && (p += Ds(s, y, T) + E, y = T + b.length);
}
return p + Ds(s, y);
}
];
}, !im || !am || Ls);
var nm = ae, sm = je, om = z, um = om("match"), lm = function(a) {
var e;
return nm(a) && ((e = a[um]) !== void 0 ? !!e : sm(a) === "RegExp");
}, hm = lm, vm = TypeError, Ki = function(a) {
if (hm(a))
throw new vm("The method doesn't accept regular expressions");
return a;
}, fm = z, cm = fm("match"), Zi = function(a) {
var e = /./;
try {
"/./"[a](e);
} catch {
try {
return e[cm] = !1, "/./"[a](e);
} catch {
}
}
return !1;
}, gm = ee, dm = Rr, pm = Et.f, ym = ot, ks = pe, mm = Ki, bm = ve, xm = Zi, Tm = dm("".slice), Om = Math.min, Wu = xm("startsWith"), Sm = !Wu && !!function() {
var a = pm(String.prototype, "startsWith");
return a && !a.writable;
}();
gm({ target: "String", proto: !0, forced: !Sm && !Wu }, {
startsWith: function(e) {
var t = ks(bm(this));
mm(e);
var r = ym(Om(arguments.length > 1 ? arguments[1] : void 0, t.length)), i = ks(e);
return Tm(t, r, r + i.length) === i;
}
});
var Em = z, $m = Gi, wm = Oe.f, hi = Em("unscopables"), vi = Array.prototype;
vi[hi] === void 0 && wm(vi, hi, {
configurable: !0,
value: $m(null)
});
var Cm = function(a) {
vi[hi][a] = !0;
}, Am = D, Pm = !Am(function() {
function a() {
}
return a.prototype.constructor = null, Object.getPrototypeOf(new a()) !== a.prototype;
}), Rm = fe, Nm = B, Im = Sr, Mm = wi, _m = Pm, Bs = Mm("IE_PROTO"), fi = Object, Vm = fi.prototype, qu = _m ? fi.getPrototypeOf : function(a) {
var e = Im(a);
if (Rm(e, Bs)) return e[Bs];
var t = e.constructor;
return Nm(t) && e instanceof t ? t.prototype : e instanceof fi ? Vm : null;
}, Dm = D, Lm = B, km = ae, js = qu, Bm = Ue, jm = z, ci = jm("iterator"), Qu = !1, ke, Ra, Na;
[].keys && (Na = [].keys(), "next" in Na ? (Ra = js(js(Na)), Ra !== Object.prototype && (ke = Ra)) : Qu = !0);
var Fm = !km(ke) || Dm(function() {
var a = {};
return ke[ci].call(a) !== a;
});
Fm && (ke = {});
Lm(ke[ci]) || Bm(ke, ci, function() {
return this;
});
var Ku = {
IteratorPrototype: ke,
BUGGY_SAFARI_ITERATORS: Qu
}, Um = Ku.IteratorPrototype, Gm = Gi, zm = xi, Hm = Pr, Ym = Rt, Xm = function() {
return this;
}, Wm = function(a, e, t, r) {
var i = e + " Iterator";
return a.prototype = Gm(Um, { next: zm(+!r, t) }), Hm(a, i, !1), Ym[i] = Xm, a;
}, qm = ee, Qm = Y, Zu = $r, Km = B, Zm = Wm, Fs = qu, Us = ou, Jm = Pr, e0 = Ct, Ia = Ue, t0 = z, r0 = Rt, Ju = Ku, a0 = Zu.PROPER, i0 = Zu.CONFIGURABLE, Gs = Ju.IteratorPrototype, tr = Ju.BUGGY_SAFARI_ITERATORS, ct = t0("iterator"), zs = "keys", gt = "values", Hs = "entries", n0 = function() {
return this;
}, s0 = function(a, e, t, r, i, n, o) {
Zm(t, e, r);
var s = function(y) {
if (y === i && c) return c;
if (!tr && y && y in h) return h[y];
switch (y) {
case zs:
return function() {
return new t(this, y);
};
case gt:
return function() {
return new t(this, y);
};
case Hs:
return function() {
return new t(this, y);
};
}
return function() {
return new t(this);
};
}, u = e + " Iterator", l = !1, h = a.prototype, f = h[ct] || h["@@iterator"] || i && h[i], c = !tr && f || s(i), v = e === "Array" && h.entries || f, g, d, p;
if (v && (g = Fs(v.call(new a())), g !== Object.prototype && g.next && (Fs(g) !== Gs && (Us ? Us(g, Gs) : Km(g[ct]) || Ia(g, ct, n0)), Jm(g, u, !0))), a0 && i === gt && f && f.name !== gt && (i0 ? e0(h, "name", gt) : (l = !0, c = function() {
return Qm(f, this);
})), i)
if (d = {
values: s(gt),
keys: n ? c : s(zs),
entries: s(Hs)
}, o) for (p in d)
(tr || l || !(p in h)) && Ia(h, p, d[p]);
else qm({ target: e, proto: !0, forced: tr || l }, d);
return h[ct] !== c && Ia(h, ct, c, { name: i }), r0[e] = c, d;
}, o0 = function(a, e) {
return { value: a, done: e };
}, u0 = $t, Ji = Cm, Ys = Rt, el = wr, l0 = Oe.f, h0 = s0, rr = o0, v0 = he, tl = "Array Iterator", f0 = el.set, c0 = el.getterFor(tl), g0 = h0(Array, "Array", function(a, e) {
f0(this, {
type: tl,
target: u0(a),
// target
index: 0,
// next index
kind: e
// kind
});
}, function() {
var a = c0(this), e = a.target, t = a.index++;
if (!e || t >= e.length)
return a.target = null, rr(void 0, !0);
switch (a.kind) {
case "keys":
return rr(t, !1);
case "values":
return rr(e[t], !1);
}
return rr([t, e[t]], !1);
}, "values"), Xs = Ys.Arguments = Ys.Array;
Ji("keys");
Ji("values");
Ji("entries");
if (v0 && Xs.name !== "values") try {
l0(Xs, "name", { value: "values" });
} catch {
}
var d0 = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
}, p0 = Er, Ma = p0("span").classList, Ws = Ma && Ma.constructor && Ma.constructor.prototype, y0 = Ws === Object.prototype ? void 0 : Ws, qs = _, rl = d0, m0 = y0, pt = g0, Qs = Ct, b0 = Pr, x0 = z, _a = x0("iterator"), Va = pt.values, al = function(a, e) {
if (a) {
if (a[_a] !== Va) try {
Qs(a, _a, Va);
} catch {
a[_a] = Va;
}
if (b0(a, e, !0), rl[e]) {
for (var t in pt)
if (a[t] !== pt[t]) try {
Qs(a, t, pt[t]);
} catch {
a[t] = pt[t];
}
}
}
};
for (var Da in rl)
al(qs[Da] && qs[Da].prototype, Da);
al(m0, "DOMTokenList");
function T0(a, e) {
if (za(a) != "object" || !a) return a;
var t = a[Symbol.toPrimitive];
if (t !== void 0) {
var r = t.call(a, e);
if (za(r) != "object") return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (e === "string" ? String : Number)(a);
}
function O0(a) {
var e = T0(a, "string");
return za(e) == "symbol" ? e : e + "";
}
function en(a, e, t) {
return (e = O0(e)) in a ? Object.defineProperty(a, e, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : a[e] = t, a;
}
var S0 = Te, E0 = Sr, $0 = Bo, w0 = Pi, Ks = TypeError, Zs = "Reduce of empty array with no initial value", C0 = function(a) {
return function(e, t, r, i) {
var n = E0(e), o = $0(n), s = w0(n);
if (S0(t), s === 0 && r < 2) throw new Ks(Zs);
var u = a ? s - 1 : 0, l = a ? -1 : 1;
if (r < 2) for (; ; ) {
if (u in o) {
i = o[u], u += l;
break;
}
if (u += l, a ? u < 0 : s <= u)
throw new Ks(Zs);
}
for (; a ? u >= 0 : s > u; u += l) u in o && (i = t(i, o[u], u, n));
return i;
};
}, A0 = {
// `Array.prototype.reduce` method
// https://tc39.es/ecma262/#sec-array.prototype.reduce
left: C0(!1)
}, P0 = D, il = function(a, e) {
var t = [][a];
return !!t && P0(function() {
t.call(null, e || function() {
return 1;
}, 1);
});
}, R0 = ee, N0 = A0.left, I0 = il, Js = Ti, M0 = Ar, _0 = !M0 && Js > 79 && Js < 83, V0 = _0 || !I0("reduce");
R0({ target: "Array", proto: !0, forced: V0 }, {
reduce: function(e) {
var t = arguments.length;
return N0(this, e, t, t > 1 ? arguments[1] : void 0);
}
});
var D0 = ee, L0 = Rr, k0 = Et.f, B0 = ot, eo = pe, j0 = Ki, F0 = ve, U0 = Zi, G0 = L0("".slice), z0 = Math.min, nl = U0("endsWith"), H0 = !nl && !!function() {
var a = k0(String.prototype, "endsWith");
return a && !a.writable;
}();
D0({ target: "String", proto: !0, forced: !H0 && !nl }, {
endsWith: function(e) {
var t = eo(F0(this));
j0(e);
var r = arguments.length > 1 ? arguments[1] : void 0, i = t.length, n = r === void 0 ? i : z0(B0(r), i), o = eo(e);
return G0(t, n - o.length, n) === o;
}
});
var La = Y, sl = L, Y0 = Hi, X0 = J, W0 = ae, q0 = ve, Q0 = cu, K0 = Xi, Z0 = ot, to = pe, J0 = st, ro = qi, eb = Uu, tb = D, We = eb.UNSUPPORTED_Y, rb = 4294967295, ab = Math.min, ka = sl([].push), Ba = sl("".slice), ib = !tb(function() {
var a = /(?:)/, e = a.exec;
a.exec = function() {
return e.apply(this, arguments);
};
var t = "ab".split(a);
return t.length !== 2 || t[0] !== "a" || t[1] !== "b";
}), ao = "abbc".split(/(b)*/)[1] === "c" || // eslint-disable-next-line regexp/no-empty-group -- required for testing
"test".split(/(?:)/, -1).length !== 4 || "ab".split(/(?:ab)*/).length !== 2 || ".".split(/(.?)(.?)/).length !== 4 || // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
".".split(/()()/).length > 1 || "".split(/.?/).length;
Y0("split", function(a, e, t) {
var r = "0".split(void 0, 0).length ? function(i, n) {
return i === void 0 && n === 0 ? [] : La(e, this, i, n);
} : e;
return [
// `String.prototype.split` method
// https://tc39.es/ecma262/#sec-string.prototype.split
function(n, o) {
var s = q0(this), u = W0(n) ? J0(n, a) : void 0;
return u ? La(u, n, s, o) : La(r, to(s), n, o);
},
// `RegExp.prototype[@@split]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split
//
// NOTE: This cannot be properly polyfilled in engines that don't support
// the 'y' flag.
function(i, n) {
var o = X0(this), s = to(i);
if (!ao) {
var u = t(r, o, s, n, r !== e);
if (u.done) return u.value;
}
var l = Q0(o, RegExp), h = o.unicode, f = (o.ignoreCase ? "i" : "") + (o.multiline ? "m" : "") + (o.unicode ? "u" : "") + (We ? "g" : "y"), c = new l(We ? "^(?:" + o.source + ")" : o, f), v = n === void 0 ? rb : n >>> 0;
if (v === 0) return [];
if (s.length === 0) return ro(c, s) === null ? [s] : [];
for (var g = 0, d = 0, p = []; d < s.length; ) {
c.lastIndex = We ? 0 : d;
var y = ro(c, We ? Ba(s, d) : s), x;
if (y === null || (x = ab(Z0(c.lastIndex + (We ? d : 0)), s.length)) === g)
d = K0(s, d, h);
else {
if (ka(p, Ba(s, g, d)), p.length === v) return p;
for (var b = 1; b <= y.length - 1; b++)
if (ka(p, y[b]), p.length === v) return p;
d = g = x;
}
}
return ka(p, Ba(s, g)), p;
}
];
}, ao || !ib, We);
var Vr = { exports: {} }, yt = { exports: {} };
(function() {
var a, e, t, r, i, n;
typeof performance < "u" && performance !== null && performance.now ? yt.exports = function() {
return performance.now();
} : typeof process < "u" && process !== null && process.hrtime ? (yt.exports = function() {
return (a() - i) / 1e6;
}, e = process.hrtime, a = function() {
var o;
return o = e(), o[0] * 1e9 + o[1];
}, r = a(), n = process.uptime() * 1e9, i = r - n) : Date.now ? (yt.exports = function() {
return Date.now() - t;
}, t = Date.now()) : (yt.exports = function() {
return (/* @__PURE__ */ new Date()).getTime() - t;
}, t = (/* @__PURE__ */ new Date()).getTime());
}).call(Qe);
var nb = yt.exports, sb = nb, be = typeof window > "u" ? Qe : window, ar = ["moz", "webkit"], tt = "AnimationFrame", nt = be["request" + tt], St = be["cancel" + tt] || be["cancelRequest" + tt];
for (var dt = 0; !nt && dt < ar.length; dt++)
nt = be[ar[dt] + "Request" + tt], St = be[ar[dt] + "Cancel" + tt] || be[ar[dt] + "CancelRequest" + tt];
if (!nt || !St) {
var ja = 0, io = 0, _e = [], ob = 1e3 / 60;
nt = function(a) {
if (_e.length === 0) {
var e = sb(), t = Math.max(0, ob - (e - ja));
ja = t + e, setTimeout(function() {
var r = _e.slice(0);
_e.length = 0;
for (var i = 0; i < r.length; i++)
if (!r[i].cancelled)
try {
r[i].callback(ja);
} catch (n) {
setTimeout(function() {
throw n;
}, 0);
}
}, Math.round(t));
}
return _e.push({
handle: ++io,
callback: a,
cancelled: !1
}), io;
}, St = function(a) {
for (var e = 0; e < _e.length; e++)
_e[e].handle === a && (_e[e].cancelled = !0);
};
}
Vr.exports = function(a) {
return nt.call(be, a);
};
Vr.exports.cancel = function() {
St.apply(be, arguments);
};
Vr.exports.polyfill = function(a) {
a || (a = be), a.requestAnimationFrame = nt, a.cancelAnimationFrame = St;
};
var ub = Vr.exports;
const Fa = /* @__PURE__ */ Io(ub);
var ol = `
\v\f\r \u2028\u2029\uFEFF`, lb = L, hb = ve, vb = pe, gi = ol, no = lb("".replace), fb = RegExp("^[" + gi + "]+"), cb = RegExp("(^|[^" + gi + "])[" + gi + "]+$"), gb = function(a) {
return function(e) {
var t = vb(hb(e));
return a & 1 && (t = no(t, fb, "")), a & 2 && (t = no(t, cb, "$1")), t;
};
}, db = {
// `String.prototype.trim` method
// https://tc39.es/ecma262/#sec-string.prototype.trim
trim: gb(3)
}, pb = $r.PROPER, yb = D, so = ol, oo = "
", mb = function(a) {
return yb(function() {
return !!so[a]() || oo[a]() !== oo || pb && so[a].name !== a;
});
}, bb = ee, xb = db.trim, Tb = mb;
bb({ target: "String", proto: !0, forced: Tb("trim") }, {
trim: function() {
return xb(this);
}
});
var Ob = function(a) {
this.ok = !1, this.alpha = 1, a.charAt(0) == "#" && (a = a.substr(1, 6)), a = a.replace(/ /g, ""), a = a.toLowerCase();
var e = {
aliceblue: "f0f8ff",
antiquewhite: "faebd7",
aqua: "00ffff",
aquamarine: "7fffd4",
azure: "f0ffff",
beige: "f5f5dc",
bisque: "ffe4c4",
black: "000000",
blanchedalmond: "ffebcd",
blue: "0000ff",
blueviolet: "8a2be2",
brown: "a52a2a",
burlywood: "deb887",
cadetblue: "5f9ea0",
chartreuse: "7fff00",
chocolate: "d2691e",
coral: "ff7f50",
cornflowerblue: "6495ed",
cornsilk: "fff8dc",
crimson: "dc143c",
cyan: "00ffff",
darkblue: "00008b",
darkcyan: "008b8b",
darkgoldenrod: "b8860b",
darkgray: "a9a9a9",
darkgreen: "006400",
darkkhaki: "bdb76b",
darkmagenta: "8b008b",
darkolivegreen: "556b2f",
darkorange: "ff8c00",
darkorchid: "9932cc",
darkred: "8b0000",
darksalmon: "e9967a",
darkseagreen: "8fbc8f",
darkslateblue: "483d8b",
darkslategray: "2f4f4f",
darkturquoise: "00ced1",
darkviolet: "9400d3",
deeppink: "ff1493",
deepskyblue: "00bfff",
dimgray: "696969",
dodgerblue: "1e90ff",
feldspar: "d19275",
firebrick: "b22222",
floralwhite: "fffaf0",
forestgreen: "228b22",
fuchsia: "ff00ff",
gainsboro: "dcdcdc",
ghostwhite: "f8f8ff",
gold: "ffd700",
goldenrod: "daa520",
gray: "808080",
green: "008000",
greenyellow: "adff2f",
honeydew: "f0fff0",
hotpink: "ff69b4",
indianred: "cd5c5c",
indigo: "4b0082",
ivory: "fffff0",
khaki: "f0e68c",
lavender: "e6e6fa",
lavenderblush: "fff0f5",
lawngreen: "7cfc00",
lemonchiffon: "fffacd",
lightblue: "add8e6",
lightcoral: "f08080",
lightcyan: "e0ffff",
lightgoldenrodyellow: "fafad2",
lightgrey: "d3d3d3",
lightgreen: "90ee90",
lightpink: "ffb6c1",
lightsalmon: "ffa07a",
lightseagreen: "20b2aa",
lightskyblue: "87cefa",
lightslateblue: "8470ff",
lightslategray: "778899",
lightsteelblue: "b0c4de",
lightyellow: "ffffe0",
lime: "00ff00",
limegreen: "32cd32",
linen: "faf0e6",
magenta: "ff00ff",
maroon: "800000",
mediumaquamarine: "66cdaa",
mediumblue: "0000cd",
mediumorchid: "ba55d3",
mediumpurple: "9370d8",
mediumseagreen: "3cb371",
mediumslateblue: "7b68ee",
mediumspringgreen: "00fa9a",
mediumturquoise: "48d1cc",
mediumvioletred: "c71585",
midnightblue: "191970",
mintcream: "f5fffa",
mistyrose: "ffe4e1",
moccasin: "ffe4b5",
navajowhite: "ffdead",
navy: "000080",
oldlace: "fdf5e6",
olive: "808000",
olivedrab: "6b8e23",
orange: "ffa500",
orangered: "ff4500",
orchid: "da70d6",
palegoldenrod: "eee8aa",
palegreen: "98fb98",
paleturquoise: "afeeee",
palevioletred: "d87093",
papayawhip: "ffefd5",
peachpuff: "ffdab9",
peru: "cd853f",
pink: "ffc0cb",
plum: "dda0dd",
powderblue: "b0e0e6",
purple: "800080",
rebeccapurple: "663399",
red: "ff0000",
rosybrown: "bc8f8f",
royalblue: "4169e1",
saddlebrown: "8b4513",
salmon: "fa8072",
sandybrown: "f4a460",
seagreen: "2e8b57",
seashell: "fff5ee",
sienna: "a0522d",
silver: "c0c0c0",
skyblue: "87ceeb",
slateblue: "6a5acd",
slategray: "708090",
snow: "fffafa",
springgreen: "00ff7f",
steelblue: "4682b4",
tan: "d2b48c",
teal: "008080",
thistle: "d8bfd8",
tomato: "ff6347",
turquoise: "40e0d0",
violet: "ee82ee",
violetred: "d02090",
wheat: "f5deb3",
white: "ffffff",
whitesmoke: "f5f5f5",
yellow: "ffff00",
yellowgreen: "9acd32"
};
a = e[a] || a;
for (var t = [
{
re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,
example: ["rgba(123, 234, 45, 0.8)", "rgba(255,234,245,1.0)"],
process: function(u) {
return [
parseInt(u[1]),
parseInt(u[2]),
parseInt(u[3]),
parseFloat(u[4])
];
}
},
{
re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
example: ["rgb(123, 234, 45)", "rgb(255,234,245)"],
process: function(u) {
return [
parseInt(u[1]),
parseInt(u[2]),
parseInt(u[3])
];
}
},
{
re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
example: ["#00ff00", "336699"],
process: function(u) {
return [
parseInt(u[1], 16),
parseInt(u[2], 16),
parseInt(u[3], 16)
];
}
},
{
re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
example: ["#fb0", "f0f"],
process: function(u) {
return [
parseInt(u[1] + u[1], 16),
parseInt(u[2] + u[2], 16),
parseInt(u[3] + u[3], 16)
];
}
}
], r = 0; r < t.length; r++) {
var i = t[r].re, n = t[r].process, o = i.exec(a);
if (o) {
var s = n(o);
this.r = s[0], this.g = s[1], this.b = s[2], s.length > 3 && (this.alpha = s[3]), this.ok = !0;
}
}
this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.alpha = this.alpha < 0 ? 0 : this.alpha > 1 || isNaN(this.alpha) ? 1 : this.alpha, this.toRGB = function() {
return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
}, this.toRGBA = function() {
return "rgba(" + this.r + ", " + this.g + ", " + this.b + ", " + this.alpha + ")";
}, this.toHex = function() {
var u = this.r.toString(16), l = this.g.toString(16), h = this.b.toString(16);
return u.length == 1 && (u = "0" + u), l.length == 1 && (l = "0" + l), h.length == 1 && (h = "0" + h), "#" + u + l + h;
}, this.getHelpXML = function() {
for (var u = new Array(), l = 0; l < t.length; l++)
for (var h = t[l].example, f = 0; f < h.length; f++)
u[u.length] = h[f];
for (var c in e)
u[u.length] = c;
var v = document.createElement("ul");
v.setAttribute("id", "rgbcolor-examples");
for (var l = 0; l < u.length; l++)
try {
var g = document.createElement("li"), d = new RGBColor(u[l]), p = document.createElement("div");
p.style.cssText = "margin: 3px; border: 1px solid black; background:" + d.toHex() + "; color:" + d.toHex(), p.appendChild(document.createTextNode("test"));
var y = document.createTextNode(
" " + u[l] + " -> " + d.toRGB() + " -> " + d.toHex()
);
g.appendChild(p), g.appendChild(y), v.appendChild(g);
} catch {
}
return v;
};
};
const di = /* @__PURE__ */ Io(Ob);
var Sb = ee, Eb = Rr, $b = ru.indexOf, wb = il, pi = Eb([].indexOf), ul = !!pi && 1 / pi([1], 1, -0) < 0, Cb = ul || !wb("indexOf");
Sb({ target: "Array", proto: !0, forced: Cb }, {
indexOf: function(e) {
var t = arguments.length > 1 ? arguments[1] : void 0;
return ul ? pi(this, e, t) || 0 : $b(this, e, t);
}
});
var Ab = ee, Pb = L, Rb = Ki, Nb = ve, uo = pe, Ib = Zi, Mb = Pb("".indexOf);
Ab({ target: "String", proto: !0, forced: !Ib("includes") }, {
includes: function(e) {
return !!~Mb(
uo(Nb(this)),
uo(Rb(e)),
arguments.length > 1 ? arguments[1] : void 0
);
}
});
var _b = je, Vb = Array.isArray || function(e) {
return _b(e) === "Array";
}, Db = ee, Lb = L, kb = Vb, Bb = Lb([].reverse), lo = [1, 2];
Db({ target: "Array", proto: !0, forced: String(lo) === String(lo.reverse()) }, {
reverse: function() {
return kb(this) && (this.length = this.length), Bb(this);
}
});
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var ll = function(a, e) {
return (ll = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, r) {
t.__proto__ = r;
} || function(t, r) {
for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]);
})(a, e);
};
function hl(a, e) {
if (typeof e != "function" && e !== null) throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
function t() {
this.constructor = a;
}
ll(a, e), a.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
}
function jb(a) {
var e = "";
Array.isArray(a) || (a = [a]);
for (var t = 0; t < a.length; t++) {
var r = a[t];
if (r.type === m.CLOSE_PATH) e += "z";
else if (r.type === m.HORIZ_LINE_TO) e += (r.relative ? "h" : "H") + r.x;
else if (r.type === m.VERT_LINE_TO) e += (r.relative ? "v" : "V") + r.y;
else if (r.type === m.MOVE_TO) e += (r.relative ? "m" : "M") + r.x + " " + r.y;
else if (r.type === m.LINE_TO) e += (r.relative ? "l" : "L") + r.x + " " + r.y;
else if (r.type === m.CURVE_TO) e += (r.relative ? "c" : "C") + r.x1 + " " + r.y1 + " " + r.x2 + " " + r.y2 + " " + r.x + " " + r.y;
else if (r.type === m.SMOOTH_CURVE_TO) e += (r.relative ? "s" : "S") + r.x2 + " " + r.y2 + " " + r.x + " " + r.y;
else if (r.type === m.QUAD_TO) e += (r.relative ? "q" : "Q") + r.x1 + " " + r.y1 + " " + r.x + " " + r.y;
else if (r.type === m.SMOOTH_QUAD_TO) e += (r.relative ? "t" : "T") + r.x + " " + r.y;
else {
if (r.type !== m.ARC) throw new Error('Unexpected command type "' + r.type + '" at index ' + t + ".");
e += (r.relative ? "a" : "A") + r.rX + " " + r.rY + " " + r.xRot + " " + +r.lArcFlag + " " + +r.sweepFlag + " " + r.x + " " + r.y;
}
}
return e;
}
function yi(a, e) {
var t = a[0], r = a[1];
return [t * Math.cos(e) - r * Math.sin(e), t * Math.sin(e) + r * Math.cos(e)];
}
function ue() {
for (var a = [], e = 0; e < arguments.length; e++) a[e] = arguments[e];
for (var t = 0; t < a.length; t++) if (typeof a[t] != "number") throw new Error("assertNumbers arguments[" + t + "] is not a number. " + typeof a[t] + " == typeof " + a[t]);
return !0;
}
var Ee = Math.PI;
function Ua(a, e, t) {
a.lArcFlag = a.lArcFlag === 0 ? 0 : 1, a.sweepFlag = a.sweepFlag === 0 ? 0 : 1;
var r = a.rX, i = a.rY, n = a.x, o = a.y;
r = Math.abs(a.rX), i = Math.abs(a.rY);
var s = yi([(e - n) / 2, (t - o) / 2], -a.xRot / 180 * Ee), u = s[0], l = s[1], h = Math.pow(u, 2) / Math.pow(r, 2) + Math.pow(l, 2) / Math.pow(i, 2);
1 < h && (r *= Math.sqrt(h), i *= Math.sqrt(h)), a.rX = r, a.rY = i;
var f = Math.pow(r, 2) * Math.pow(l, 2) + Math.pow(i, 2) * Math.pow(u, 2), c = (a.lArcFlag !== a.sweepFlag ? 1 : -1) * Math.sqrt(Math.max(0, (Math.pow(r, 2) * Math.pow(i, 2) - f) / f)), v = r * l / i * c, g = -i * u / r * c, d = yi([v, g], a.xRot / 180 * Ee);
a.cX = d[0] + (e + n) / 2, a.cY = d[1] + (t + o) / 2, a.phi1 = Math.atan2((l - g) / i, (u - v) / r), a.phi2 = Math.atan2((-l - g) / i, (-u - v) / r), a.sweepFlag === 0 && a.phi2 > a.phi1 && (a.phi2 -= 2 * Ee), a.sweepFlag === 1 && a.phi2 < a.phi1 && (a.phi2 += 2 * Ee), a.phi1 *= 180 / Ee, a.phi2 *= 180 / Ee;
}
function ho(a, e, t) {
ue(a, e, t);
var r = a * a + e * e - t * t;
if (0 > r) return [];
if (r === 0) return [[a * t / (a * a + e * e), e * t / (a * a + e * e)]];
var i = Math.sqrt(r);
return [[(a * t + e * i) / (a * a + e * e), (e * t - a * i) / (a * a + e * e)], [(a * t - e * i) / (a * a + e * e), (e * t + a * i) / (a * a + e * e)]];
}
var U, ye = Math.PI / 180;
function vo(a, e, t) {
return (1 - t) * a + t * e;
}
function fo(a, e, t, r) {
return a + Math.cos(r / 180 * Ee) * e + Math.sin(r / 180 * Ee) * t;
}
function co(a, e, t, r) {
var i = 1e-6, n = e - a, o = t - e, s = 3 * n + 3 * (r - t) - 6 * o, u = 6 * (o - n), l = 3 * n;
return Math.abs(s) < i ? [-l / u] : function(h, f, c) {
var v = h * h / 4 - f;
if (v < -c) return [];
if (v <= c) return [-h / 2];
var g = Math.sqrt(v);
return [-h / 2 - g, -h / 2 + g];
}(u / s, l / s, i);
}
function go(a, e, t, r, i) {
var n = 1 - i;
return a * (n * n * n) + e * (3 * n * n * i) + t * (3 * n * i * i) + r * (i * i * i);
}
(function(a) {
function e() {
return i(function(s, u, l) {
return s.relative && (s.x1 !== void 0 && (s.x1 += u), s.y1 !== void 0 && (s.y1 += l), s.x2 !== void 0 && (s.x2 += u), s.y2 !== void 0 && (s.y2 += l), s.x !== void 0 && (s.x += u), s.y !== void 0 && (s.y += l), s.relative = !1), s;
});
}
function t() {
var s = NaN, u = NaN, l = NaN, h = NaN;
return i(function(f, c, v) {
return f.type & m.SMOOTH_CURVE_TO && (f.type = m.CURVE_TO, s = isNaN(s) ? c : s, u = isNaN(u) ? v : u, f.x1 = f.relative ? c - s : 2 * c - s, f.y1 = f.relative ? v - u : 2 * v - u), f.type & m.CURVE_TO ? (s = f.relative ? c + f.x2 : f.x2, u = f.relative ? v + f.y2 : f.y2) : (s = NaN, u = NaN), f.type & m.SMOOTH_QUAD_TO && (f.type = m.QUAD_TO, l = isNaN(l) ? c : l, h = isNaN(h) ? v : h, f.x1 = f.relative ? c - l : 2 * c - l, f.y1 = f.relative ? v - h : 2 * v - h), f.type & m.QUAD_TO ? (l = f.relative ? c + f.x1 : f.x1, h = f.relative ? v + f.y1 : f.y1) : (l = NaN, h = NaN), f;
});
}
function r() {
var s = NaN, u = NaN;
return i(function(l, h, f) {
if (l.type & m.SMOOTH_QUAD_TO && (l.type = m.QUAD_TO, s = isNaN(s) ? h : s, u = isNaN(u) ? f : u, l.x1 = l.relative ? h - s : 2 * h - s, l.y1 = l.relative ? f - u : 2 * f - u), l.type & m.QUAD_TO) {
s = l.relative ? h + l.x1 : l.x1, u = l.relative ? f + l.y1 : l.y1;
var c = l.x1, v = l.y1;
l.type = m.CURVE_TO, l.x1 = ((l.relative ? 0 : h) + 2 * c) / 3, l.y1 = ((l.relative ? 0 : f) + 2 * v) / 3, l.x2 = (l.x + 2 * c) / 3, l.y2 = (l.y + 2 * v) / 3;
} else s = NaN, u = NaN;
return l;
});
}
function i(s) {
var u = 0, l = 0, h = NaN, f = NaN;
return function(c) {
if (isNaN(h) && !(c.type & m.MOVE_TO)) throw new Error("path must start with moveto");
var v = s(c, u, l, h, f);
return c.type & m.CLOSE_PATH && (u = h, l = f), c.x !== void 0 && (u = c.relative ? u + c.x : c.x), c.y !== void 0 && (l = c.relative ? l + c.y : c.y), c.type & m.MOVE_TO && (h = u, f = l), v;
};
}
function n(s, u, l, h, f, c) {
return ue(s, u, l, h, f, c), i(function(v, g, d, p) {
var y = v.x1, x = v.x2, b = v.relative && !isNaN(p), T = v.x !== void 0 ? v.x : b ? 0 : g, $ = v.y !== void 0 ? v.y : b ? 0 : d;
function E(se) {
return se * se;
}
v.type & m.HORIZ_LINE_TO && u !== 0 && (v.type = m.LINE_TO, v.y = v.relative ? 0 : d), v.type & m.VERT_LINE_TO && l !== 0 && (v.type = m.LINE_TO, v.x = v.relative ? 0 : g), v.x !== void 0 && (v.x = v.x * s + $ * l + (b ? 0 : f)), v.y !== void 0 && (v.y = T * u + v.y * h + (b ? 0 : c)), v.x1 !== void 0 && (v.x1 = v.x1 * s + v.y1 * l + (b ? 0 : f)), v.y1 !== void 0 && (v.y1 = y * u + v.y1 * h + (b ? 0 : c)), v.x2 !== void 0 && (v.x2 = v.x2 * s + v.y2 * l + (b ? 0 : f)), v.y2 !== void 0 && (v.y2 = x * u + v.y2 * h + (b ? 0 : c));
var O = s * h - u * l;
if (v.xRot !== void 0 && (s !== 1 || u !== 0 || l !== 0 || h !== 1)) if (O === 0) delete v.rX, delete v.rY, delete v.xRot, delete v.lArcFlag, delete v.sweepFlag, v.type = m.LINE_TO;
else {
var C = v.xRot * Math.PI / 180, P = Math.sin(C), V = Math.cos(C), j = 1 / E(v.rX), R = 1 / E(v.rY), X = E(V) * j + E(P) * R, W = 2 * P * V * (j - R), G = E(P) * j + E(V) * R, q = X * h * h - W * u * h + G * u * u, H = W * (s * h + u * l) - 2 * (X * l * h + G * s * u), Q = X * l * l - W * s * l + G * s * s, N = (Math.atan2(H, q - Q) + Math.PI) % Math.PI / 2, M = Math.sin(N), K = Math.cos(N);
v.rX = Math.abs(O) / Math.sqrt(q * E(K) + H * M * K + Q * E(M)), v.rY = Math.abs(O) / Math.sqrt(q * E(M) - H * M * K + Q * E(K)), v.xRot = 180 * N / Math.PI;
}
return v.sweepFlag !== void 0 && 0 > O && (v.sweepFlag = +!v.sweepFlag), v;
});
}
function o() {
return function(s) {
var u = {};
for (var l in s) u[l] = s[l];
return u;
};
}
a.ROUND = function(s) {
function u(l) {
return Math.round(l * s) / s;
}
return s === void 0 && (s = 1e13), ue(s), function(l) {
return l.x1 !== void 0 && (l.x1 = u(l.x1)), l.y1 !== void 0 && (l.y1 = u(l.y1)), l.x2 !== void 0 && (l.x2 = u(l.x2)), l.y2 !== void 0 && (l.y2 = u(l.y2)), l.x !== void 0 && (l.x = u(l.x)), l.y !== void 0 && (l.y = u(l.y)), l.rX !== void 0 && (l.rX = u(l.rX)), l.rY !== void 0 && (l.rY = u(l.rY)), l;
};
}, a.TO_ABS = e, a.TO_REL = function() {
return i(function(s, u, l) {
return s.relative || (s.x1 !== void 0 && (s.x1 -= u), s.y1 !== void 0 && (s.y1 -= l), s.x2 !== void 0 && (s.x2 -= u), s.y2 !== void 0 && (s.y2 -= l), s.x !== void 0 && (s.x -= u), s.y !== void 0 && (s.y -= l), s.relative = !0), s;
});
}, a.NORMALIZE_HVZ = function(s, u, l) {
return s === void 0 && (s = !0), u === void 0 && (u = !0), l === void 0 && (l = !0), i(function(h, f, c, v, g) {
if (isNaN(v) && !(h.type & m.MOVE_TO)) throw new Error("path must start with moveto");
return u && h.type & m.HORIZ_LINE_TO && (h.type = m.LINE_TO, h.y = h.relative ? 0 : c), l && h.type & m.VERT_LINE_TO && (h.type = m.LINE_TO, h.x = h.relative ? 0 : f), s && h.type & m.CLOSE_PATH && (h.type = m.LINE_TO, h.x = h.relative ? v - f : v, h.y = h.relative ? g - c : g), h.type & m.ARC && (h.rX === 0 || h.rY === 0) && (h.type = m.LINE_TO, delete h.rX, delete h.rY, delete h.xRot, delete h.lArcFlag, delete h.sweepFlag), h;
});
}, a.NORMALIZE_ST = t, a.QT_TO_C = r, a.INFO = i, a.SANITIZE = function(s) {
s === void 0 && (s = 0), ue(s);
var u = NaN, l = NaN, h = NaN, f = NaN;
return i(function(c, v, g, d, p) {
var y = Math.abs, x = !1, b = 0, T = 0;
if (c.type & m.SMOOTH_CURVE_TO && (b = isNaN(u) ? 0 : v - u, T = isNaN(l) ? 0 : g - l), c.type & (m.CURVE_TO | m.SMOOTH_CURVE_TO) ? (u = c.relative ? v + c.x2 : c.x2, l = c.relative ? g + c.y2 : c.y2) : (u = NaN, l = NaN), c.type & m.SMOOTH_QUAD_TO ? (h = isNaN(h) ? v : 2 * v - h, f = isNaN(f) ? g : 2 * g - f) : c.type & m.QUAD_TO ? (h = c.relative ? v + c.x1 : c.x1, f = c.relative ? g + c.y1 : c.y2) : (h = NaN, f = NaN), c.type & m.LINE_COMMANDS || c.type & m.ARC && (c.rX === 0 || c.rY === 0 || !c.lArcFlag) || c.type & m.CURVE_TO || c.type & m.SMOOTH_CURVE_TO || c.type & m.QUAD_TO || c.type & m.SMOOTH_QUAD_TO) {
var $ = c.x === void 0 ? 0 : c.relative ? c.x : c.x - v, E = c.y === void 0 ? 0 : c.relative ? c.y : c.y - g;
b = isNaN(h) ? c.x1 === void 0 ? b : c.relative ? c.x : c.x1 - v : h - v, T = isNaN(f) ? c.y1 === void 0 ? T : c.relative ? c.y : c.y1 - g : f - g;
var O = c.x2 === void 0 ? 0 : c.relative ? c.x : c.x2 - v, C = c.y2 === void 0 ? 0 : c.relative ? c.y : c.y2 - g;
y($) <= s && y(E) <= s && y(b) <= s && y(T) <= s && y(O) <= s && y(C) <= s && (x = !0);
}
return c.type & m.CLOSE_PATH && y(v - d) <= s && y(g - p) <= s && (x = !0), x ? [] : c;
});
}, a.MATRIX = n, a.ROTATE = function(s, u, l) {
u === void 0 && (u = 0), l === void 0 && (l = 0), ue(s, u, l);
var h = Math.sin(s), f = Math.cos(s);
return n(f, h, -h, f, u - u * f + l * h, l - u * h - l * f);
}, a.TRANSLATE = function(s, u) {
return u === void 0 && (u = 0), ue(s, u), n(1, 0, 0, 1, s, u);
}, a.SCALE = function(s, u) {
return u === void 0 && (u = s), ue(s, u), n(s, 0, 0, u, 0, 0);
}, a.SKEW_X = function(s) {
return ue(s), n(1, 0, Math.atan(s), 1, 0, 0);
}, a.SKEW_Y = function(s) {
return ue(s), n(1, Math.atan(s), 0, 1, 0, 0);
}, a.X_AXIS_SYMMETRY = function(s) {
return s === void 0 && (s = 0), ue(s), n(-1, 0, 0, 1, s, 0);
}, a.Y_AXIS_SYMMETRY = function(s) {
return s === void 0 && (s = 0), ue(s), n(1, 0, 0, -1, 0, s);
}, a.A_TO_C = function() {
return i(function(s, u, l) {
return m.ARC === s.type ? function(h, f, c) {
var v, g, d, p;
h.cX || Ua(h, f, c);
for (var y = Math.min(h.phi1, h.phi2), x = Math.max(h.phi1, h.phi2) - y, b = Math.ceil(x / 90), T = new Array(b), $ = f, E = c, O = 0; O < b; O++) {
var C = vo(h.phi1, h.phi2, O / b), P = vo(h.phi1, h.phi2, (O + 1) / b), V = P - C, j = 4 / 3 * Math.tan(V * ye / 4), R = [Math.cos(C * ye) - j * Math.sin(C * ye), Math.sin(C * ye) + j * Math.cos(C * ye)], X = R[0], W = R[1], G = [Math.cos(P * ye), Math.sin(P * ye)], q = G[0], H = G[1], Q = [q + j * Math.sin(P * ye), H - j * Math.cos(P * ye)], N = Q[0], M = Q[1];
T[O] = { relative: h.relative, type: m.CURVE_TO };
var K = function(se, ge) {
var Se = yi([se * h.rX, ge * h.rY], h.xRot), ze = Se[0], It = Se[1];
return [h.cX + ze, h.cY + It];
};
v = K(X, W), T[O].x1 = v[0], T[O].y1 = v[1], g = K(N, M), T[O].x2 = g[0], T[O].y2 = g[1], d = K(q, H), T[O].x = d[0], T[O].y = d[1], h.relative && (T[O].x1 -= $, T[O].y1 -= E, T[O].x2 -= $, T[O].y2 -= E, T[O].x -= $, T[O].y -= E), $ = (p = [T[O].x, T[O].y])[0], E = p[1];
}
return T;
}(s, s.relative ? 0 : u, s.relative ? 0 : l) : s;
});
}, a.ANNOTATE_ARCS = function() {
return i(function(s, u, l) {
return s.relative && (u = 0, l = 0), m.ARC === s.type && Ua(s, u, l), s;
});
}, a.CLONE = o, a.CALCULATE_BOUNDS = function() {
var s = function(c) {
var v = {};
for (var g in c) v[g] = c[g];
return v;
}, u = e(), l = r(), h = t(), f = i(function(c, v, g) {
var d = h(l(u(s(c))));
function p(M) {
M > f.maxX && (f.maxX = M), M < f.minX && (f.minX = M);
}
function y(M) {
M > f.maxY && (f.maxY = M), M < f.minY && (f.minY = M);
}
if (d.type & m.DRAWING_COMMANDS && (p(v), y(g)), d.type & m.HORIZ_LINE_TO && p(d.x), d.type & m.VERT_LINE_TO && y(d.y), d.type & m.LINE_TO && (p(d.x), y(d.y)), d.type & m.CURVE_TO) {
p(d.x), y(d.y);
for (var x = 0, b = co(v, d.x1, d.x2, d.x); x < b.length; x++)
0 < (N = b[x]) && 1 > N && p(go(v, d.x1, d.x2, d.x, N));
for (var T = 0, $ = co(g, d.y1, d.y2, d.y); T < $.length; T++)
0 < (N = $[T]) && 1 > N && y(go(g, d.y1, d.y2, d.y, N));
}
if (d.type & m.ARC) {
p(d.x), y(d.y), Ua(d, v, g);
for (var E = d.xRot / 180 * Math.PI, O = Math.cos(E) * d.rX, C = Math.sin(E) * d.rX, P = -Math.sin(E) * d.rY, V = Math.cos(E) * d.rY, j = d.phi1 < d.phi2 ? [d.phi1, d.phi2] : -180 > d.phi2 ? [d.phi2 + 360, d.phi1 + 360] : [d.phi2, d.phi1], R = j[0], X = j[1], W = function(M) {
var K = M[0], se = M[1], ge = 180 * Math.atan2(se, K) / Math.PI;
return ge < R ? ge + 360 : ge;
}, G = 0, q = ho(P, -O, 0).map(W); G < q.length; G++)
(N = q[G]) > R && N < X && p(fo(d.cX, O, P, N));
for (var H = 0, Q = ho(V, -C, 0).map(W); H < Q.length; H++) {
var N;
(N = Q[H]) > R && N < X && y(fo(d.cY, C, V, N));
}
}
return c;
});
return f.minX = 1 / 0, f.maxX = -1 / 0, f.minY = 1 / 0, f.maxY = -1 / 0, f;
};
})(U || (U = {}));
var oe, vl = function() {
function a() {
}
return a.prototype.round = function(e) {
return this.transform(U.ROUND(e));
}, a.prototype.toAbs = function() {
return this.transform(U.TO_ABS());
}, a.prototype.toRel = function() {
return this.transform(U.TO_REL());
}, a.prototype.normalizeHVZ = function(e, t, r) {
return this.transform(U.NORMALIZE_HVZ(e, t, r));
}, a.prototype.normalizeST = function() {
return this.transform(U.NORMALIZE_ST());
}, a.prototype.qtToC = function() {
return this.transform(U.QT_TO_C());
}, a.prototype.aToC = function() {
return this.transform(U.A_TO_C());
}, a.prototype.sanitize = function(e) {
return this.transform(U.SANITIZE(e));
}, a.prototype.translate = function(e, t) {
return this.transform(U.TRANSLATE(e, t));
}, a.prototype.scale = function(e, t) {
return this.transform(U.SCALE(e, t));
}, a.prototype.rotate = function(e, t, r) {
return this.transform(U.ROTATE(e, t, r));
}, a.prototype.matrix = function(e, t, r, i, n, o) {
return this.transform(U.MATRIX(e, t, r, i, n, o));
}, a.prototype.skewX = function(e) {
return this.transform(U.SKEW_X(e));
}, a.prototype.skewY = function(e) {
return this.transform(U.SKEW_Y(e));
}, a.prototype.xSymmetry = function(e) {
return this.transform(U.X_AXIS_SYMMETRY(e));
}, a.prototype.ySymmetry = function(e) {
return this.transform(U.Y_AXIS_SYMMETRY(e));
}, a.prototype.annotateArcs = function() {
return this.transform(U.ANNOTATE_ARCS());
}, a;
}(), Fb = function(a) {
return a === " " || a === " " || a === "\r" || a === `
`;
}, po = function(a) {
return 48 <= a.charCodeAt(0) && a.charCodeAt(0) <= 57;
}, Ub = function(a) {
function e() {
var t = a.call(this) || this;
return t.curNumber = "", t.curCommandType = -1, t.curCommandRelative = !1, t.canParseCommandOrComma = !0, t.curNumberHasExp = !1, t.curNumberHasExpDigits = !1, t.curNumberHasDecimal = !1, t.curArgs = [], t;
}
return hl(e, a), e.prototype.finish = function(t) {
if (t === void 0 && (t = []), this.parse(" ", t), this.curArgs.length !== 0 || !this.canParseCommandOrComma) throw new SyntaxError("Unterminated command at the path end.");
return t;
}, e.prototype.parse = function(t, r) {
var i = this;
r === void 0 && (r = []);
for (var n = function(f) {
r.push(f), i.curArgs.length = 0, i.canParseCommandOrComma = !0;
}, o = 0; o < t.length; o++) {
var s = t[o], u = !(this.curCommandType !== m.ARC || this.curArgs.length !== 3 && this.curArgs.length !== 4 || this.curNumber.length !== 1 || this.curNumber !== "0" && this.curNumber !== "1"), l = po(s) && (this.curNumber === "0" && s === "0" || u);
if (!po(s) || l) if (s !== "e" && s !== "E") if (s !== "-" && s !== "+" || !this.curNumberHasExp || this.curNumberHasExpDigits) if (s !== "." || this.curNumberHasExp || this.curNumberHasDecimal || u) {
if (this.curNumber && this.curCommandType !== -1) {
var h = Number(this.curNumber);
if (isNaN(h)) throw new SyntaxError("Invalid number ending at " + o);
if (this.curCommandType === m.ARC) {
if (this.curArgs.length === 0 || this.curArgs.length === 1) {
if (0 > h) throw new SyntaxError('Expected positive number, got "' + h + '" at index "' + o + '"');
} else if ((this.curArgs.length === 3 || this.curArgs.length === 4) && this.curNumber !== "0" && this.curNumber !== "1") throw new SyntaxError('Expected a flag, got "' + this.curNumber + '" at index "' + o + '"');
}
this.curArgs.push(h), this.curArgs.length === Gb[this.curCommandType] && (m.HORIZ_LINE_TO === this.curCommandType ? n({ type: m.HORIZ_LINE_TO, relative: this.curCommandRelative, x: h }) : m.VERT_LINE_TO === this.curCommandType ? n({ type: m.VERT_LINE_TO, relative: this.curCommandRelative, y: h }) : this.curCommandType === m.MOVE_TO || this.curCommandType === m.LINE_TO || this.curCommandType === m.SMOOTH_QUAD_TO ? (n({ type: this.curCommandType, relative: this.curCommandRelative, x: this.curArgs[0], y: this.curArgs[1] }), m.MOVE_TO === this.curCommandType && (this.curCommandType = m.LINE_TO)) : this.curCommandType === m.CURVE_TO ? n({ type: m.CURVE_TO, relative: this.curCommandRelative, x1: this.curArgs[0], y1: this.curArgs[1], x2: this.curArgs[2], y2: this.curArgs[3], x: this.curArgs[4], y: this.curArgs[5] }) : this.curCommandType === m.SMOOTH_CURVE_TO ? n({ type: m.SMOOTH_CURVE_TO, relative: this.curCommandRelative, x2: this.curArgs[0], y2: this.curArgs[1], x: this.curArgs[2], y: this.curArgs[3] }) : this.curCommandType === m.QUAD_TO ? n({ type: m.QUAD_TO, relative: this.curCommandRelative, x1: this.curArgs[0], y1: this.curArgs[1], x: this.curArgs[2], y: this.curArgs[3] }) : this.curCommandType === m.ARC && n({ type: m.ARC, relative: this.curCommandRelative, rX: this.curArgs[0], rY: this.curArgs[1], xRot: this.curArgs[2], lArcFlag: this.curArgs[3], sweepFlag: this.curArgs[4], x: this.curArgs[5], y: this.curArgs[6] })), this.curNumber = "", this.curNumberHasExpDigits = !1, this.curNumberHasExp = !1, this.curNumberHasDecimal = !1, this.canParseCommandOrComma = !0;
}
if (!Fb(s)) if (s === "," && this.canParseCommandOrComma) this.canParseCommandOrComma = !1;
else if (s !== "+" && s !== "-" && s !== ".") if (l) this.curNumber = s, this.curNumberHasDecimal = !1;
else {
if (this.curArgs.length !== 0) throw new SyntaxError("Unterminated command at index " + o + ".");
if (!this.canParseCommandOrComma) throw new SyntaxError('Unexpected character "' + s + '" at index ' + o + ". Command cannot follow comma");
if (this.canParseCommandOrComma = !1, s !== "z" && s !== "Z") if (s === "h" || s === "H") this.curCommandType = m.HORIZ_LINE_TO, this.curCommandRelative = s === "h";
else if (s === "v" || s === "V") this.curCommandType = m.VERT_LINE_TO, this.curCommandRelative = s === "v";
else if (s === "m" || s === "M") this.curCommandType = m.MOVE_TO, this.curCommandRelative = s === "m";
else if (s === "l" || s === "L") this.curCommandType = m.LINE_TO, this.curCommandRelative = s === "l";
else if (s === "c" || s === "C") this.curCommandType = m.CURVE_TO, this.curCommandRelative = s === "c";
else if (s === "s" || s === "S") this.curCommandType = m.SMOOTH_CURVE_TO, this.curCommandRelative = s === "s";
else if (s === "q" || s === "Q") this.curCommandType = m.QUAD_TO, this.curCommandRelative = s === "q";
else if (s === "t" || s === "T") this.curCommandType = m.SMOOTH_QUAD_TO, this.curCommandRelative = s === "t";
else {
if (s !== "a" && s !== "A") throw new SyntaxError('Unexpected character "' + s + '" at index ' + o + ".");
this.curCommandType = m.ARC, this.curCommandRelative = s === "a";
}
else r.push({ type: m.CLOSE_PATH }), this.canParseCommandOrComma = !0, this.curCommandType = -1;
}
else this.curNumber = s, this.curNumberHasDecimal = s === ".";
} else this.curNumber += s, this.curNumberHasDecimal = !0;
else this.curNumber += s;
else this.curNumber += s, this.curNumberHasExp = !0;
else this.curNumber += s, this.curNumberHasExpDigits = this.curNumberHasExp;
}
return r;
}, e.prototype.transform = function(t) {
return Object.create(this, { parse: { value: function(r, i) {
i === void 0 && (i = []);
for (var n = 0, o = Object.getPrototypeOf(this).parse.call(this, r); n < o.length; n++) {
var s = o[n], u = t(s);
Array.isArray(u) ? i.push.apply(i, u) : i.push(u);
}
return i;
} } });
}, e;
}(vl), m = function(a) {
function e(t) {
var r = a.call(this) || this;
return r.commands = typeof t == "string" ? e.parse(t) : t, r;
}
return hl(e, a), e.prototype.encode = function() {
return e.encode(this.commands);
}, e.prototype.getBounds = function() {
var t = U.CALCULATE_BOUNDS();
return this.transform(t), t;
}, e.prototype.transform = function(t) {
for (var r = [], i = 0, n = this.commands; i < n.length; i++) {
var o = t(n[i]);
Array.isArray(o) ? r.push.apply(r, o) : r.push(o);
}
return this.commands = r, this;
}, e.encode = function(t) {
return jb(t);
}, e.parse = function(t) {
var r = new Ub(), i = [];
return r.parse(t, i), r.finish(i), i;
}, e.CLOSE_PATH = 1, e.MOVE_TO = 2, e.HORIZ_LINE_TO = 4, e.VERT_LINE_TO = 8, e.LINE_TO = 16, e.CURVE_TO = 32, e.SMOOTH_CURVE_TO = 64, e.QUAD_TO = 128, e.SMOOTH_QUAD_TO = 256, e.ARC = 512, e.LINE_COMMANDS = e.LINE_TO | e.HORIZ_LINE_TO | e.VERT_LINE_TO, e.DRAWING_COMMANDS = e.HORIZ_LINE_TO | e.VERT_LINE_TO | e.LINE_TO | e.CURVE_TO | e.SMOOTH_CURVE_TO | e.QUAD_TO | e.SMOOTH_QUAD_TO | e.ARC, e;
}(vl), Gb = ((oe = {})[m.MOVE_TO] = 2, oe[m.LINE_TO] = 2, oe[m.HORIZ_LINE_TO] = 1, oe[m.VERT_LINE_TO] = 1, oe[m.CLOSE_PATH] = 0, oe[m.QUAD_TO] = 4, oe[m.SMOOTH_QUAD_TO] = 2, oe[m.CURVE_TO] = 6, oe[m.SMOOTH_CURVE_TO] = 4, oe[m.ARC] = 7, oe), zb = $r.PROPER, Hb = Ue, Yb = J, yo = pe, Xb = D, Wb = Wi, tn = "toString", fl = RegExp.prototype, cl = fl[tn], qb = Xb(function() {
return cl.call({ source: "a", flags: "b" }) !== "/a/b";
}), Qb = zb && cl.name !== tn;
(qb || Qb) && Hb(fl, tn, function() {
var e = Yb(this), t = yo(e.source), r = yo(Wb(e));
return "/" + t + "/" + r;
}, { unsafe: !0 });
function fr(a) {
"@babel/helpers - typeof";
return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? fr = function(e) {
return typeof e;
} : fr = function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
}, fr(a);
}
function Kb(a, e) {
if (!(a instanceof e))
throw new TypeError("Cannot call a class as a function");
}
var Zb = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259], Jb = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
function e1(a, e, t, r, i) {
if (typeof a == "string" && (a = document.getElementById(a)), !a || fr(a) !== "object" || !("getContext" in a))
throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");
var n = a.getContext("2d");
try {
return n.getImageData(e, t, r, i);
} catch (o) {
throw new Error("unable to access image data: " + o);
}
}
function t1(a, e, t, r, i, n) {
if (!(isNaN(n) || n < 1)) {
n |= 0;
var o = e1(a, e, t, r, i);
o = r1(o, e, t, r, i, n), a.getContext("2d").putImageData(o, e, t);
}
}
function r1(a, e, t, r, i, n) {
for (var o = a.data, s = 2 * n + 1, u = r - 1, l = i - 1, h = n + 1, f = h * (h + 1) / 2, c = new mo(), v = c, g, d = 1; d < s; d++)
v = v.next = new mo(), d === h && (g = v);
v.next = c;
for (var p = null, y = null, x = 0, b = 0, T = Zb[n], $ = Jb[n], E = 0; E < i; E++) {
v = c;
for (var O = o[b], C = o[b + 1], P = o[b + 2], V = o[b + 3], j = 0; j < h; j++)
v.r = O, v.g = C, v.b = P, v.a = V, v = v.next;
for (var R = 0, X = 0, W = 0, G = 0, q = h * O, H = h * C, Q = h * P, N = h * V, M = f * O, K = f * C, se = f * P, ge = f * V, Se = 1; Se < h; Se++) {
var ze = b + ((u < Se ? u : Se) << 2), It = o[ze], nn = o[ze + 1], sn = o[ze + 2], on = o[ze + 3], Mt = h - Se;
M += (v.r = It) * Mt, K += (v.g = nn) * Mt, se += (v.b = sn) * Mt, ge += (v.a = on) * Mt, R += It, X += nn, W += sn, G += on, v = v.next;
}
p = c, y = g;
for (var jr = 0; jr < r; jr++) {
var Fr = ge * T >>> $;
if (o[b + 3] = Fr, Fr !== 0) {
var Ur = 255 / Fr;
o[b] = (M * T >>> $) * Ur, o[b + 1] = (K * T >>> $) * Ur, o[b + 2] = (se * T >>> $) * Ur;
} else
o[b] = o[b + 1] = o[b + 2] = 0;
M -= q, K -= H, se -= Q, ge -= N, q -= p.r, H -= p.g, Q -= p.b, N -= p.a;
var Ae = jr + n + 1;
Ae = x + (Ae < u ? Ae : u) << 2, R += p.r = o[Ae], X += p.g = o[Ae + 1], W += p.b = o[Ae + 2], G += p.a = o[Ae + 3], M += R, K += X, se += W, ge += G, p = p.next;
var _t = y, un = _t.r, ln = _t.g, hn = _t.b, vn = _t.a;
q += un, H += ln, Q += hn, N += vn, R -= un, X -= ln, W -= hn, G -= vn, y = y.next, b += 4;
}
x += r;
}
for (var He = 0; He < r; He++) {
b = He << 2;
var Pe = o[b], Re = o[b + 1], Ne = o[b + 2], te = o[b + 3], Gr = h * Pe, zr = h * Re, Hr = h * Ne, Yr = h * te, Vt = f * Pe, Dt = f * Re, Lt = f * Ne, kt = f * te;
v = c;
for (var fn = 0; fn < h; fn++)
v.r = Pe, v.g = Re, v.b = Ne, v.a = te, v = v.next;
for (var cn = r, Xr = 0, Wr = 0, qr = 0, Qr = 0, Bt = 1; Bt <= n; Bt++) {
b = cn + He << 2;
var jt = h - Bt;
Vt += (v.r = Pe = o[b]) * jt, Dt += (v.g = Re = o[b + 1]) * jt, Lt += (v.b = Ne = o[b + 2]) * jt, kt += (v.a = te = o[b + 3]) * jt, Qr += Pe, Xr += Re, Wr += Ne, qr += te, v = v.next, Bt < l && (cn += r);
}
b = He, p = c, y = g;
for (var Kr = 0; Kr < i; Kr++) {
var re = b << 2;
o[re + 3] = te = kt * T >>> $, te > 0 ? (te = 255 / te, o[re] = (Vt * T >>> $) * te, o[re + 1] = (Dt * T >>> $) * te, o[re + 2] = (Lt * T >>> $) * te) : o[re] = o[re + 1] = o[re + 2] = 0, Vt -= Gr, Dt -= zr, Lt -= Hr, kt -= Yr, Gr -= p.r, zr -= p.g, Hr -= p.b, Yr -= p.a, re = He + ((re = Kr + h) < l ? re : l) * r << 2, Vt += Qr += p.r = o[re], Dt += Xr += p.g = o[re + 1], Lt += Wr += p.b = o[re + 2], kt += qr += p.a = o[re + 3], p = p.next, Gr += Pe = y.r, zr += Re = y.g, Hr += Ne = y.b, Yr += te = y.a, Qr -= Pe, Xr -= Re, Wr -= Ne, qr -= te, y = y.next, b += r;
}
}
return a;
}
var mo = (
/**
* Set properties.
*/
function a() {
Kb(this, a), this.r = 0, this.g = 0, this.b = 0, this.a = 0, this.next = null;
}
);
function a1() {
var {
DOMParser: a
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, e = {
window: null,
ignoreAnimation: !0,
ignoreMouse: !0,
DOMParser: a,
createCanvas(t, r) {
return new OffscreenCanvas(t, r);
},
createImage(t) {
return xe(function* () {
var r = yield fetch(t), i = yield r.blob(), n = yield createImageBitmap(i);
return n;
})();
}
};
return (typeof DOMParser < "u" || typeof a > "u") && Reflect.deleteProperty(e, "DOMParser"), e;
}
function i1(a) {
var {
DOMParser: e,
canvas: t,
fetch: r
} = a;
return {
window: null,
ignoreAnimation: !0,
ignoreMouse: !0,
DOMParser: e,
fetch: r,
createCanvas: t.createCanvas,
createImage: t.loadImage
};
}
var p2 = /* @__PURE__ */ Object.freeze({
__proto__: null,
offscreen: a1,
node: i1
});
function lt(a) {
return a.replace(/(?!\u3000)\s+/gm, " ");
}
function n1(a) {
return a.replace(/^[\n \t]+/, "");
}
function s1(a) {
return a.replace(/[\n \t]+$/, "");
}
function ne(a) {
var e = (a || "").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm) || [];
return e.map(parseFloat);
}
var o1 = /^[A-Z-]+$/;
function u1(a) {
return o1.test(a) ? a.toLowerCase() : a;
}
function gl(a) {
var e = /url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(a) || [];
return e[2] || e[3] || e[4];
}
function l1(a) {
if (!a.startsWith("rgb"))
return a;
var e = 3, t = a.replace(/\d+(\.\d+)?/g, (r, i) => e-- && i ? String(Math.round(parseFloat(r))) : r);
return t;
}
var h1 = /(\[[^\]]+\])/g, v1 = /(#[^\s+>~.[:]+)/g, f1 = /(\.[^\s+>~.[:]+)/g, c1 = /(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi, g1 = /(:[\w-]+\([^)]*\))/gi, d1 = /(:[^\s+>~.[:]+)/g, p1 = /([^\s+>~.[:]+)/g;
function Ve(a, e) {
var t = e.exec(a);
return t ? [a.replace(e, " "), t.length] : [a, 0];
}
function y1(a) {
var e = [0, 0, 0], t = a.replace(/:not\(([^)]*)\)/g, " $1 ").replace(/{[\s\S]*/gm, " "), r = 0;
return [t, r] = Ve(t, h1), e[1] += r, [t, r] = Ve(t, v1), e[0] += r, [t, r] = Ve(t, f1), e[1] += r, [t, r] = Ve(t, c1), e[2] += r, [t, r] = Ve(t, g1), e[1] += r, [t, r] = Ve(t, d1), e[1] += r, t = t.replace(/[*\s+>~]/g, " ").replace(/[#.]/g, " "), [t, r] = Ve(t, p1), e[2] += r, e.join("");
}
var rt = 1e-8;
function bo(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2));
}
function mi(a, e) {
return (a[0] * e[0] + a[1] * e[1]) / (bo(a) * bo(e));
}
function xo(a, e) {
return (a[0] * e[1] < a[1] * e[0] ? -1 : 1) * Math.acos(mi(a, e));
}
function To(a) {
return a * a * a;
}
function Oo(a) {
return 3 * a * a * (1 - a);
}
function So(a) {
return 3 * a * (1 - a) * (1 - a);
}
function Eo(a) {
return (1 - a) * (1 - a) * (1 - a);
}
function $o(a) {
return a * a;
}
function wo(a) {
return 2 * a * (1 - a);
}
function Co(a) {
return (1 - a) * (1 - a);
}
class S {
constructor(e, t, r) {
this.document = e, this.name = t, this.value = r, this.isNormalizedColor = !1;
}
static empty(e) {
return new S(e, "EMPTY", "");
}
split() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : " ", {
document: t,
name: r
} = this;
return lt(this.getString()).trim().split(e).map((i) => new S(t, r, i));
}
hasValue(e) {
var {
value: t
} = this;
return t !== null && t !== "" && (e || t !== 0) && typeof t < "u";
}
isString(e) {
var {
value: t
} = this, r = typeof t == "string";
return !r || !e ? r : e.test(t);
}
isUrlDefinition() {
return this.isString(/^url\(/);
}
isPixels() {
if (!this.hasValue())
return !1;
var e = this.getString();
switch (!0) {
case e.endsWith("px"):
case /^[0-9]+$/.test(e):
return !0;
default:
return !1;
}
}
setValue(e) {
return this.value = e, this;
}
getValue(e) {
return typeof e > "u" || this.hasValue() ? this.value : e;
}
getNumber(e) {
if (!this.hasValue())
return typeof e > "u" ? 0 : parseFloat(e);
var {
value: t
} = this, r = parseFloat(t);
return this.isString(/%$/) && (r /= 100), r;
}
getString(e) {
return typeof e > "u" || this.hasValue() ? typeof this.value > "u" ? "" : String(this.value) : String(e);
}
getColor(e) {
var t = this.getString(e);
return this.isNormalizedColor || (this.isNormalizedColor = !0, t = l1(t), this.value = t), t;
}
getDpi() {
return 96;
}
getRem() {
return this.document.rootEmSize;
}
getEm() {
return this.document.emSize;
}
getUnits() {
return this.getString().replace(/[0-9.-]/g, "");
}
getPixels(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (!this.hasValue())
return 0;
var [r, i] = typeof e == "boolean" ? [void 0, e] : [e], {
viewPort: n
} = this.document.screen;
switch (!0) {
case this.isString(/vmin$/):
return this.getNumber() / 100 * Math.min(n.computeSize("x"), n.computeSize("y"));
case this.isString(/vmax$/):
return this.getNumber() / 100 * Math.max(n.computeSize("x"), n.computeSize("y"));
case this.isString(/vw$/):
return this.getNumber() / 100 * n.computeSize("x");
case this.isString(/vh$/):
return this.getNumber() / 100 * n.computeSize("y");
case this.isString(/rem$/):
return this.getNumber() * this.getRem();
case this.isString(/em$/):
return this.getNumber() * this.getEm();
case this.isString(/ex$/):
return this.getNumber() * this.getEm() / 2;
case this.isString(/px$/):
return this.getNumber();
case this.isString(/pt$/):
return this.getNumber() * this.getDpi() * (1 / 72);
case this.isString(/pc$/):
return this.getNumber() * 15;
case this.isString(/cm$/):
return this.getNumber() * this.getDpi() / 2.54;
case this.isString(/mm$/):
return this.getNumber() * this.getDpi() / 25.4;
case this.isString(/in$/):
return this.getNumber() * this.getDpi();
case (this.isString(/%$/) && i):
return this.getNumber() * this.getEm();
case this.isString(/%$/):
return this.getNumber() * n.computeSize(r);
default: {
var o = this.getNumber();
return t && o < 1 ? o * n.computeSize(r) : o;
}
}
}
getMilliseconds() {
return this.hasValue() ? this.isString(/ms$/) ? this.getNumber() : this.getNumber() * 1e3 : 0;
}
getRadians() {
if (!this.hasValue())
return 0;
switch (!0) {
case this.isString(/deg$/):
return this.getNumber() * (Math.PI / 180);
case this.isString(/grad$/):
return this.getNumber() * (Math.PI / 200);
case this.isString(/rad$/):
return this.getNumber();
default:
return this.getNumber() * (Math.PI / 180);
}
}
getDefinition() {
var e = this.getString(), t = /#([^)'"]+)/.exec(e);
return t && (t = t[1]), t || (t = e), this.document.definitions[t];
}
getFillStyleDefinition(e, t) {
var r = this.getDefinition();
if (!r)
return null;
if (typeof r.createGradient == "function")
return r.createGradient(this.document.ctx, e, t);
if (typeof r.createPattern == "function") {
if (r.getHrefAttribute().hasValue()) {
var i = r.getAttribute("patternTransform");
r = r.getHrefAttribute().getDefinition(), i.hasValue() && r.getAttribute("patternTransform", !0).setValue(i.value);
}
return r.createPattern(this.document.ctx, e, t);
}
return null;
}
getTextBaseline() {
return this.hasValue() ? S.textBaselineMapping[this.getString()] : null;
}
addOpacity(e) {
for (var t = this.getColor(), r = t.length, i = 0, n = 0; n < r && (t[n] === "," && i++, i !== 3); n++)
;
if (e.hasValue() && this.isString() && i !== 3) {
var o = new di(t);
o.ok && (o.alpha = e.getNumber(), t = o.toRGBA());
}
return new S(this.document, this.name, t);
}
}
S.textBaselineMapping = {
baseline: "alphabetic",
"before-edge": "top",
"text-before-edge": "top",
middle: "middle",
central: "middle",
"after-edge": "bottom",
"text-after-edge": "bottom",
ideographic: "ideographic",
alphabetic: "alphabetic",
hanging: "hanging",
mathematical: "alphabetic"
};
class m1 {
constructor() {
this.viewPorts = [];
}
clear() {
this.viewPorts = [];
}
setCurrent(e, t) {
this.viewPorts.push({
width: e,
height: t
});
}
removeCurrent() {
this.viewPorts.pop();
}
getCurrent() {
var {
viewPorts: e
} = this;
return e[e.length - 1];
}
get width() {
return this.getCurrent().width;
}
get height() {
return this.getCurrent().height;
}
computeSize(e) {
return typeof e == "number" ? e : e === "x" ? this.width : e === "y" ? this.height : Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2);
}
}
class k {
constructor(e, t) {
this.x = e, this.y = t;
}
static parse(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, [r = t, i = t] = ne(e);
return new k(r, i);
}
static parseScale(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1, [r = t, i = r] = ne(e);
return new k(r, i);
}
static parsePath(e) {
for (var t = ne(e), r = t.length, i = [], n = 0; n < r; n += 2)
i.push(new k(t[n], t[n + 1]));
return i;
}
angleTo(e) {
return Math.atan2(e.y - this.y, e.x - this.x);
}
applyTransform(e) {
var {
x: t,
y: r
} = this, i = t * e[0] + r * e[2] + e[4], n = t * e[1] + r * e[3] + e[5];
this.x = i, this.y = n;
}
}
class b1 {
constructor(e) {
this.screen = e, this.working = !1, this.events = [], this.eventElements = [], this.onClick = this.onClick.bind(this), this.onMouseMove = this.onMouseMove.bind(this);
}
isWorking() {
return this.working;
}
start() {
if (!this.working) {
var {
screen: e,
onClick: t,
onMouseMove: r
} = this, i = e.ctx.canvas;
i.onclick = t, i.onmousemove = r, this.working = !0;
}
}
stop() {
if (this.working) {
var e = this.screen.ctx.canvas;
this.working = !1, e.onclick = null, e.onmousemove = null;
}
}
hasEvents() {
return this.working && this.events.length > 0;
}
runEvents() {
if (this.working) {
var {
screen: e,
events: t,
eventElements: r
} = this, {
style: i
} = e.ctx.canvas;
i && (i.cursor = ""), t.forEach((n, o) => {
for (var {
run: s
} = n, u = r[o]; u; )
s(u), u = u.parent;
}), this.events = [], this.eventElements = [];
}
}
checkPath(e, t) {
if (!(!this.working || !t)) {
var {
events: r,
eventElements: i
} = this;
r.forEach((n, o) => {
var {
x: s,
y: u
} = n;
!i[o] && t.isPointInPath && t.isPointInPath(s, u) && (i[o] = e);
});
}
}
checkBoundingBox(e, t) {
if (!(!this.working || !t)) {
var {
events: r,
eventElements: i
} = this;
r.forEach((n, o) => {
var {
x: s,
y: u
} = n;
!i[o] && t.isPointInBox(s, u) && (i[o] = e);
});
}
}
mapXY(e, t) {
for (var {
window: r,
ctx: i
} = this.screen, n = new k(e, t), o = i.canvas; o; )
n.x -= o.offsetLeft, n.y -= o.offsetTop, o = o.offsetParent;
return r.scrollX && (n.x += r.scrollX), r.scrollY && (n.y += r.scrollY), n;
}
onClick(e) {
var {
x: t,
y: r
} = this.mapXY(e.clientX, e.clientY);
this.events.push({
type: "onclick",
x: t,
y: r,
run(i) {
i.onClick && i.onClick();
}
});
}
onMouseMove(e) {
var {
x: t,
y: r
} = this.mapXY(e.clientX, e.clientY);
this.events.push({
type: "onmousemove",
x: t,
y: r,
run(i) {
i.onMouseMove && i.onMouseMove();
}
});
}
}
var dl = typeof window < "u" ? window : null, pl = typeof fetch < "u" ? fetch.bind(void 0) : null;
class Dr {
constructor(e) {
var {
fetch: t = pl,
window: r = dl
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
this.ctx = e, this.FRAMERATE = 30, this.MAX_VIRTUAL_PIXELS = 3e4, this.CLIENT_WIDTH = 800, this.CLIENT_HEIGHT = 600, this.viewPort = new m1(), this.mouse = new b1(this), this.animations = [], this.waits = [], this.frameDuration = 0, this.isReadyLock = !1, this.isFirstRender = !0, this.intervalId = null, this.window = r, this.fetch = t;
}
wait(e) {
this.waits.push(e);
}
ready() {
return this.readyPromise ? this.readyPromise : Promise.resolve();
}
isReady() {
if (this.isReadyLock)
return !0;
var e = this.waits.every((t) => t());
return e && (this.waits = [], this.resolveReady && this.resolveReady()), this.isReadyLock = e, e;
}
setDefaults(e) {
e.strokeStyle = "rgba(0,0,0,0)", e.lineCap = "butt", e.lineJoin = "miter", e.miterLimit = 4;
}
setViewBox(e) {
var {
document: t,
ctx: r,
aspectRatio: i,
width: n,
desiredWidth: o,
height: s,
desiredHeight: u,
minX: l = 0,
minY: h = 0,
refX: f,
refY: c,
clip: v = !1,
clipX: g = 0,
clipY: d = 0
} = e, p = lt(i).replace(/^defer\s/, ""), [y, x] = p.split(" "), b = y || "xMidYMid", T = x || "meet", $ = n / o, E = s / u, O = Math.min($, E), C = Math.max($, E), P = o, V = u;
T === "meet" && (P *= O, V *= O), T === "slice" && (P *= C, V *= C);
var j = new S(t, "refX", f), R = new S(t, "refY", c), X = j.hasValue() && R.hasValue();
if (X && r.translate(-O * j.getPixels("x"), -O * R.getPixels("y")), v) {
var W = O * g, G = O * d;
r.beginPath(), r.moveTo(W, G), r.lineTo(n, G), r.lineTo(n, s), r.lineTo(W, s), r.closePath(), r.clip();
}
if (!X) {
var q = T === "meet" && O === E, H = T === "slice" && C === E, Q = T === "meet" && O === $, N = T === "slice" && C === $;
b.startsWith("xMid") && (q || H) && r.translate(n / 2 - P / 2, 0), b.endsWith("YMid") && (Q || N) && r.translate(0, s / 2 - V / 2), b.startsWith("xMax") && (q || H) && r.translate(n - P, 0), b.endsWith("YMax") && (Q || N) && r.translate(0, s - V);
}
switch (!0) {
case b === "none":
r.scale($, E);
break;
case T === "meet":
r.scale(O, O);
break;
case T === "slice":
r.scale(C, C);
break;
}
r.translate(-l, -h);
}
start(e) {
var {
enableRedraw: t = !1,
ignoreMouse: r = !1,
ignoreAnimation: i = !1,
ignoreDimensions: n = !1,
ignoreClear: o = !1,
forceRedraw: s,
scaleWidth: u,
scaleHeight: l,
offsetX: h,
offsetY: f
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
FRAMERATE: c,
mouse: v
} = this, g = 1e3 / c;
if (this.frameDuration = g, this.readyPromise = new Promise((b) => {
this.resolveReady = b;
}), this.isReady() && this.render(e, n, o, u, l, h, f), !!t) {
var d = Date.now(), p = d, y = 0, x = () => {
d = Date.now(), y = d - p, y >= g && (p = d - y % g, this.shouldUpdate(i, s) && (this.render(e, n, o, u, l, h, f), v.runEvents())), this.intervalId = Fa(x);
};
r || v.start(), this.intervalId = Fa(x);
}
}
stop() {
this.intervalId && (Fa.cancel(this.intervalId), this.intervalId = null), this.mouse.stop();
}
shouldUpdate(e, t) {
if (!e) {
var {
frameDuration: r
} = this, i = this.animations.reduce((n, o) => o.update(r) || n, !1);
if (i)
return !0;
}
return !!(typeof t == "function" && t() || !this.isReadyLock && this.isReady() || this.mouse.hasEvents());
}
render(e, t, r, i, n, o, s) {
var {
CLIENT_WIDTH: u,
CLIENT_HEIGHT: l,
viewPort: h,
ctx: f,
isFirstRender: c
} = this, v = f.canvas;
h.clear(), v.width && v.height ? h.setCurrent(v.width, v.height) : h.setCurrent(u, l);
var g = e.getStyle("width"), d = e.getStyle("height");
!t && (c || typeof i != "number" && typeof n != "number") && (g.hasValue() && (v.width = g.getPixels("x"), v.style && (v.style.width = "".concat(v.width, "px"))), d.hasValue() && (v.height = d.getPixels("y"), v.style && (v.style.height = "".concat(v.height, "px"))));
var p = v.clientWidth || v.width, y = v.clientHeight || v.height;
if (t && g.hasValue() && d.hasValue() && (p = g.getPixels("x"), y = d.getPixels("y")), h.setCurrent(p, y), typeof o == "number" && e.getAttribute("x", !0).setValue(o), typeof s == "number" && e.getAttribute("y", !0).setValue(s), typeof i == "number" || typeof n == "number") {
var x = ne(e.getAttribute("viewBox").getString()), b = 0, T = 0;
if (typeof i == "number") {
var $ = e.getStyle("width");
$.hasValue() ? b = $.getPixels("x") / i : isNaN(x[2]) || (b = x[2] / i);
}
if (typeof n == "number") {
var E = e.getStyle("height");
E.hasValue() ? T = E.getPixels("y") / n : isNaN(x[3]) || (T = x[3] / n);
}
b || (b = T), T || (T = b), e.getAttribute("width", !0).setValue(i), e.getAttribute("height", !0).setValue(n);
var O = e.getStyle("transform", !0, !0);
O.setValue("".concat(O.getString(), " scale(").concat(1 / b, ", ").concat(1 / T, ")"));
}
r || f.clearRect(0, 0, p, y), e.render(f), c && (this.isFirstRender = !1);
}
}
Dr.defaultWindow = dl;
Dr.defaultFetch = pl;
var {
defaultFetch: x1
} = Dr, T1 = typeof DOMParser < "u" ? DOMParser : null;
class Ga {
constructor() {
var {
fetch: e = x1,
DOMParser: t = T1
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
this.fetch = e, this.DOMParser = t;
}
parse(e) {
var t = this;
return xe(function* () {
return e.startsWith("<") ? t.parseFromString(e) : t.load(e);
})();
}
parseFromString(e) {
var t = new this.DOMParser();
try {
return this.checkDocument(t.parseFromString(e, "image/svg+xml"));
} catch {
return this.checkDocument(t.parseFromString(e, "text/xml"));
}
}
checkDocument(e) {
var t = e.getElementsByTagName("parsererror")[0];
if (t)
throw new Error(t.textContent);
return e;
}
load(e) {
var t = this;
return xe(function* () {
var r = yield t.fetch(e), i = yield r.text();
return t.parseFromString(i);
})();
}
}
class O1 {
constructor(e, t) {
this.type = "translate", this.point = null, this.point = k.parse(t);
}
apply(e) {
var {
x: t,
y: r
} = this.point;
e.translate(t || 0, r || 0);
}
unapply(e) {
var {
x: t,
y: r
} = this.point;
e.translate(-1 * t || 0, -1 * r || 0);
}
applyToPoint(e) {
var {
x: t,
y: r
} = this.point;
e.applyTransform([1, 0, 0, 1, t || 0, r || 0]);
}
}
class S1 {
constructor(e, t, r) {
this.type = "rotate", this.angle = null, this.originX = null, this.originY = null, this.cx = 0, this.cy = 0;
var i = ne(t);
this.angle = new S(e, "angle", i[0]), this.originX = r[0], this.originY = r[1], this.cx = i[1] || 0, this.cy = i[2] || 0;
}
apply(e) {
var {
cx: t,
cy: r,
originX: i,
originY: n,
angle: o
} = this, s = t + i.getPixels("x"), u = r + n.getPixels("y");
e.translate(s, u), e.rotate(o.getRadians()), e.translate(-s, -u);
}
unapply(e) {
var {
cx: t,
cy: r,
originX: i,
originY: n,
angle: o
} = this, s = t + i.getPixels("x"), u = r + n.getPixels("y");
e.translate(s, u), e.rotate(-1 * o.getRadians()), e.translate(-s, -u);
}
applyToPoint(e) {
var {
cx: t,
cy: r,
angle: i
} = this, n = i.getRadians();
e.applyTransform([
1,
0,
0,
1,
t || 0,
r || 0
// this.p.y
]), e.applyTransform([Math.cos(n), Math.sin(n), -Math.sin(n), Math.cos(n), 0, 0]), e.applyTransform([
1,
0,
0,
1,
-t || 0,
-r || 0
// -this.p.y
]);
}
}
class E1 {
constructor(e, t, r) {
this.type = "scale", this.scale = null, this.originX = null, this.originY = null;
var i = k.parseScale(t);
(i.x === 0 || i.y === 0) && (i.x = rt, i.y = rt), this.scale = i, this.originX = r[0], this.originY = r[1];
}
apply(e) {
var {
scale: {
x: t,
y: r
},
originX: i,
originY: n
} = this, o = i.getPixels("x"), s = n.getPixels("y");
e.translate(o, s), e.scale(t, r || t), e.translate(-o, -s);
}
unapply(e) {
var {
scale: {
x: t,
y: r
},
originX: i,
originY: n
} = this, o = i.getPixels("x"), s = n.getPixels("y");
e.translate(o, s), e.scale(1 / t, 1 / r || t), e.translate(-o, -s);
}
applyToPoint(e) {
var {
x: t,
y: r
} = this.scale;
e.applyTransform([t || 0, 0, 0, r || 0, 0, 0]);
}
}
class yl {
constructor(e, t, r) {
this.type = "matrix", this.matrix = [], this.originX = null, this.originY = null, this.matrix = ne(t), this.originX = r[0], this.originY = r[1];
}
apply(e) {
var {
originX: t,
originY: r,
matrix: i
} = this, n = t.getPixels("x"), o = r.getPixels("y");
e.translate(n, o), e.transform(i[0], i[1], i[2], i[3], i[4], i[5]), e.translate(-n, -o);
}
unapply(e) {
var {
originX: t,
originY: r,
matrix: i
} = this, n = i[0], o = i[2], s = i[4], u = i[1], l = i[3], h = i[5], f = 0, c = 0, v = 1, g = 1 / (n * (l * v - h * c) - o * (u * v - h * f) + s * (u * c - l * f)), d = t.getPixels("x"), p = r.getPixels("y");
e.translate(d, p), e.transform(g * (l * v - h * c), g * (h * f - u * v), g * (s * c - o * v), g * (n * v - s * f), g * (o * h - s * l), g * (s * u - n * h)), e.translate(-d, -p);
}
applyToPoint(e) {
e.applyTransform(this.matrix);
}
}
class ml extends yl {
constructor(e, t, r) {
super(e, t, r), this.type = "skew", this.angle = null, this.angle = new S(e, "angle", t);
}
}
class $1 extends ml {
constructor(e, t, r) {
super(e, t, r), this.type = "skewX", this.matrix = [1, 0, Math.tan(this.angle.getRadians()), 1, 0, 0];
}
}
class w1 extends ml {
constructor(e, t, r) {
super(e, t, r), this.type = "skewY", this.matrix = [1, Math.tan(this.angle.getRadians()), 0, 1, 0, 0];
}
}
function C1(a) {
return lt(a).trim().replace(/\)([a-zA-Z])/g, ") $1").replace(/\)(\s?,\s?)/g, ") ").split(/\s(?=[a-z])/);
}
function A1(a) {
var [e, t] = a.split("(");
return [e.trim(), t.trim().replace(")", "")];
}
class Be {
constructor(e, t, r) {
this.document = e, this.transforms = [];
var i = C1(t);
i.forEach((n) => {
if (n !== "none") {
var [o, s] = A1(n), u = Be.transformTypes[o];
typeof u < "u" && this.transforms.push(new u(this.document, s, r));
}
});
}
static fromElement(e, t) {
var r = t.getStyle("transform", !1, !0), [i, n = i] = t.getStyle("transform-origin", !1, !0).split(), o = [i, n];
return r.hasValue() ? new Be(e, r.getString(), o) : null;
}
apply(e) {
for (var {
transforms: t
} = this, r = t.length, i = 0; i < r; i++)
t[i].apply(e);
}
unapply(e) {
for (var {
transforms: t
} = this, r = t.length, i = r - 1; i >= 0; i--)
t[i].unapply(e);
}
// TODO: applyToPoint unused ... remove?
applyToPoint(e) {
for (var {
transforms: t
} = this, r = t.length, i = 0; i < r; i++)
t[i].applyToPoint(e);
}
}
Be.transformTypes = {
translate: O1,
rotate: S1,
scale: E1,
matrix: yl,
skewX: $1,
skewY: w1
};
class I {
constructor(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
if (this.document = e, this.node = t, this.captureTextNodes = r, this.attributes = /* @__PURE__ */ Object.create(null), this.styles = /* @__PURE__ */ Object.create(null), this.stylesSpecificity = /* @__PURE__ */ Object.create(null), this.animationFrozen = !1, this.animationFrozenValue = "", this.parent = null, this.children = [], !(!t || t.nodeType !== 1)) {
if (Array.from(t.attributes).forEach((s) => {
var u = u1(s.nodeName);
this.attributes[u] = new S(e, u, s.value);
}), this.addStylesFromStyleDefinition(), this.getAttribute("style").hasValue()) {
var i = this.getAttribute("style").getString().split(";").map((s) => s.trim());
i.forEach((s) => {
if (s) {
var [u, l] = s.split(":").map((h) => h.trim());
this.styles[u] = new S(e, u, l);
}
});
}
var {
definitions: n
} = e, o = this.getAttribute("id");
o.hasValue() && (n[o.getString()] || (n[o.getString()] = this)), Array.from(t.childNodes).forEach((s) => {
if (s.nodeType === 1)
this.addChild(s);
else if (r && (s.nodeType === 3 || s.nodeType === 4)) {
var u = e.createTextNode(s);
u.getText().length > 0 && this.addChild(u);
}
});
}
}
getAttribute(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, r = this.attributes[e];
if (!r && t) {
var i = new S(this.document, e, "");
return this.attributes[e] = i, i;
}
return r || S.empty(this.document);
}
getHrefAttribute() {
for (var e in this.attributes)
if (e === "href" || e.endsWith(":href"))
return this.attributes[e];
return S.empty(this.document);
}
getStyle(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, i = this.styles[e];
if (i)
return i;
var n = this.getAttribute(e);
if (n != null && n.hasValue())
return this.styles[e] = n, n;
if (!r) {
var {
parent: o
} = this;
if (o) {
var s = o.getStyle(e);
if (s != null && s.hasValue())
return s;
}
}
if (t) {
var u = new S(this.document, e, "");
return this.styles[e] = u, u;
}
return i || S.empty(this.document);
}
render(e) {
if (!(this.getStyle("display").getString() === "none" || this.getStyle("visibility").getString() === "hidden")) {
if (e.save(), this.getStyle("mask").hasValue()) {
var t = this.getStyle("mask").getDefinition();
t && (this.applyEffects(e), t.apply(e, this));
} else if (this.getStyle("filter").getValue("none") !== "none") {
var r = this.getStyle("filter").getDefinition();
r && (this.applyEffects(e), r.apply(e, this));
} else
this.setContext(e), this.renderChildren(e), this.clearContext(e);
e.restore();
}
}
setContext(e) {
}
applyEffects(e) {
var t = Be.fromElement(this.document, this);
t && t.apply(e);
var r = this.getStyle("clip-path", !1, !0);
if (r.hasValue()) {
var i = r.getDefinition();
i && i.apply(e);
}
}
clearContext(e) {
}
renderChildren(e) {
this.children.forEach((t) => {
t.render(e);
});
}
addChild(e) {
var t = e instanceof I ? e : this.document.createElement(e);
t.parent = this, I.ignoreChildTypes.includes(t.type) || this.children.push(t);
}
matchesSelector(e) {
var t, {
node: r
} = this;
if (typeof r.matches == "function")
return r.matches(e);
var i = (t = r.getAttribute) === null || t === void 0 ? void 0 : t.call(r, "class");
return !i || i === "" ? !1 : i.split(" ").some((n) => ".".concat(n) === e);
}
addStylesFromStyleDefinition() {
var {
styles: e,
stylesSpecificity: t
} = this.document;
for (var r in e)
if (!r.startsWith("@") && this.matchesSelector(r)) {
var i = e[r], n = t[r];
if (i)
for (var o in i) {
var s = this.stylesSpecificity[o];
typeof s > "u" && (s = "000"), n >= s && (this.styles[o] = i[o], this.stylesSpecificity[o] = n);
}
}
}
removeStyles(e, t) {
var r = t.reduce((i, n) => {
var o = e.getStyle(n);
if (!o.hasValue())
return i;
var s = o.getString();
return o.setValue(""), [...i, [n, s]];
}, []);
return r;
}
restoreStyles(e, t) {
t.forEach((r) => {
var [i, n] = r;
e.getStyle(i, !0).setValue(n);
});
}
isFirstChild() {
var e;
return ((e = this.parent) === null || e === void 0 ? void 0 : e.children.indexOf(this)) === 0;
}
}
I.ignoreChildTypes = ["title"];
class P1 extends I {
constructor(e, t, r) {
super(e, t, r);
}
}
function R1(a) {
var e = a.trim();
return /^('|")/.test(e) ? e : '"'.concat(e, '"');
}
function N1(a) {
return typeof process > "u" ? a : a.trim().split(",").map(R1).join(",");
}
function I1(a) {
if (!a)
return "";
var e = a.trim().toLowerCase();
switch (e) {
case "normal":
case "italic":
case "oblique":
case "inherit":
case "initial":
case "unset":
return e;
default:
return /^oblique\s+(-|)\d+deg$/.test(e) ? e : "";
}
}
function M1(a) {
if (!a)
return "";
var e = a.trim().toLowerCase();
switch (e) {
case "normal":
case "bold":
case "lighter":
case "bolder":
case "inherit":
case "initial":
case "unset":
return e;
default:
return /^[\d.]+$/.test(e) ? e : "";
}
}
class Z {
constructor(e, t, r, i, n, o) {
var s = o ? typeof o == "string" ? Z.parse(o) : o : {};
this.fontFamily = n || s.fontFamily, this.fontSize = i || s.fontSize, this.fontStyle = e || s.fontStyle, this.fontWeight = r || s.fontWeight, this.fontVariant = t || s.fontVariant;
}
static parse() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 ? arguments[1] : void 0, r = "", i = "", n = "", o = "", s = "", u = lt(e).trim().split(" "), l = {
fontSize: !1,
fontStyle: !1,
fontWeight: !1,
fontVariant: !1
};
return u.forEach((h) => {
switch (!0) {
case (!l.fontStyle && Z.styles.includes(h)):
h !== "inherit" && (r = h), l.fontStyle = !0;
break;
case (!l.fontVariant && Z.variants.includes(h)):
h !== "inherit" && (i = h), l.fontStyle = !0, l.fontVariant = !0;
break;
case (!l.fontWeight && Z.weights.includes(h)):
h !== "inherit" && (n = h), l.fontStyle = !0, l.fontVariant = !0, l.fontWeight = !0;
break;
case !l.fontSize:
h !== "inherit" && ([o] = h.split("/")), l.fontStyle = !0, l.fontVariant = !0, l.fontWeight = !0, l.fontSize = !0;
break;
default:
h !== "inherit" && (s += h);
}
}), new Z(r, i, n, o, s, t);
}
toString() {
return [
I1(this.fontStyle),
this.fontVariant,
M1(this.fontWeight),
this.fontSize,
// Wrap fontFamily only on nodejs and only for canvas.ctx
N1(this.fontFamily)
].join(" ").trim();
}
}
Z.styles = "normal|italic|oblique|inherit";
Z.variants = "normal|small-caps|inherit";
Z.weights = "normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";
class ce {
constructor() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Number.NaN, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Number.NaN, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Number.NaN, i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : Number.NaN;
this.x1 = e, this.y1 = t, this.x2 = r, this.y2 = i, this.addPoint(e, t), this.addPoint(r, i);
}
get x() {
return this.x1;
}
get y() {
return this.y1;
}
get width() {
return this.x2 - this.x1;
}
get height() {
return this.y2 - this.y1;
}
addPoint(e, t) {
typeof e < "u" && ((isNaN(this.x1) || isNaN(this.x2)) && (this.x1 = e, this.x2 = e), e < this.x1 && (this.x1 = e), e > this.x2 && (this.x2 = e)), typeof t < "u" && ((isNaN(this.y1) || isNaN(this.y2)) && (this.y1 = t, this.y2 = t), t < this.y1 && (this.y1 = t), t > this.y2 && (this.y2 = t));
}
addX(e) {
this.addPoint(e, null);
}
addY(e) {
this.addPoint(null, e);
}
addBoundingBox(e) {
if (e) {
var {
x1: t,
y1: r,
x2: i,
y2: n
} = e;
this.addPoint(t, r), this.addPoint(i, n);
}
}
sumCubic(e, t, r, i, n) {
return Math.pow(1 - e, 3) * t + 3 * Math.pow(1 - e, 2) * e * r + 3 * (1 - e) * Math.pow(e, 2) * i + Math.pow(e, 3) * n;
}
bezierCurveAdd(e, t, r, i, n) {
var o = 6 * t - 12 * r + 6 * i, s = -3 * t + 9 * r - 9 * i + 3 * n, u = 3 * r - 3 * t;
if (s === 0) {
if (o === 0)
return;
var l = -u / o;
0 < l && l < 1 && (e ? this.addX(this.sumCubic(l, t, r, i, n)) : this.addY(this.sumCubic(l, t, r, i, n)));
return;
}
var h = Math.pow(o, 2) - 4 * u * s;
if (!(h < 0)) {
var f = (-o + Math.sqrt(h)) / (2 * s);
0 < f && f < 1 && (e ? this.addX(this.sumCubic(f, t, r, i, n)) : this.addY(this.sumCubic(f, t, r, i, n)));
var c = (-o - Math.sqrt(h)) / (2 * s);
0 < c && c < 1 && (e ? this.addX(this.sumCubic(c, t, r, i, n)) : this.addY(this.sumCubic(c, t, r, i, n)));
}
}
// from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html
addBezierCurve(e, t, r, i, n, o, s, u) {
this.addPoint(e, t), this.addPoint(s, u), this.bezierCurveAdd(!0, e, r, n, s), this.bezierCurveAdd(!1, t, i, o, u);
}
addQuadraticCurve(e, t, r, i, n, o) {
var s = e + 0.6666666666666666 * (r - e), u = t + 2 / 3 * (i - t), l = s + 1 / 3 * (n - e), h = u + 1 / 3 * (o - t);
this.addBezierCurve(e, t, s, l, u, h, n, o);
}
isPointInBox(e, t) {
var {
x1: r,
y1: i,
x2: n,
y2: o
} = this;
return r <= e && e <= n && i <= t && t <= o;
}
}
class w extends m {
constructor(e) {
super(e.replace(/([+\-.])\s+/gm, "$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g, "")), this.control = null, this.start = null, this.current = null, this.command = null, this.commands = this.commands, this.i = -1, this.previousCommand = null, this.points = [], this.angles = [];
}
reset() {
this.i = -1, this.command = null, this.previousCommand = null, this.start = new k(0, 0), this.control = new k(0, 0), this.current = new k(0, 0), this.points = [], this.angles = [];
}
isEnd() {
var {
i: e,
commands: t
} = this;
return e >= t.length - 1;
}
next() {
var e = this.commands[++this.i];
return this.previousCommand = this.command, this.command = e, e;
}
getPoint() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "x", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "y", r = new k(this.command[e], this.command[t]);
return this.makeAbsolute(r);
}
getAsControlPoint(e, t) {
var r = this.getPoint(e, t);
return this.control = r, r;
}
getAsCurrentPoint(e, t) {
var r = this.getPoint(e, t);
return this.current = r, r;
}
getReflectedControlPoint() {
var e = this.previousCommand.type;
if (e !== m.CURVE_TO && e !== m.SMOOTH_CURVE_TO && e !== m.QUAD_TO && e !== m.SMOOTH_QUAD_TO)
return this.current;
var {
current: {
x: t,
y: r
},
control: {
x: i,
y: n
}
} = this, o = new k(2 * t - i, 2 * r - n);
return o;
}
makeAbsolute(e) {
if (this.command.relative) {
var {
x: t,
y: r
} = this.current;
e.x += t, e.y += r;
}
return e;
}
addMarker(e, t, r) {
var {
points: i,
angles: n
} = this;
r && n.length > 0 && !n[n.length - 1] && (n[n.length - 1] = i[i.length - 1].angleTo(r)), this.addMarkerAngle(e, t ? t.angleTo(e) : null);
}
addMarkerAngle(e, t) {
this.points.push(e), this.angles.push(t);
}
getMarkerPoints() {
return this.points;
}
getMarkerAngles() {
for (var {
angles: e
} = this, t = e.length, r = 0; r < t; r++)
if (!e[r]) {
for (var i = r + 1; i < t; i++)
if (e[i]) {
e[r] = e[i];
break;
}
}
return e;
}
}
class Ge extends I {
constructor() {
super(...arguments), this.modifiedEmSizeStack = !1;
}
calculateOpacity() {
for (var e = 1, t = this; t; ) {
var r = t.getStyle("opacity", !1, !0);
r.hasValue(!0) && (e *= r.getNumber()), t = t.parent;
}
return e;
}
setContext(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (!t) {
var r = this.getStyle("fill"), i = this.getStyle("fill-opacity"), n = this.getStyle("stroke"), o = this.getStyle("stroke-opacity");
if (r.isUrlDefinition()) {
var s = r.getFillStyleDefinition(this, i);
s && (e.fillStyle = s);
} else if (r.hasValue()) {
r.getString() === "currentColor" && r.setValue(this.getStyle("color").getColor());
var u = r.getColor();
u !== "inherit" && (e.fillStyle = u === "none" ? "rgba(0,0,0,0)" : u);
}
if (i.hasValue()) {
var l = new S(this.document, "fill", e.fillStyle).addOpacity(i).getColor();
e.fillStyle = l;
}
if (n.isUrlDefinition()) {
var h = n.getFillStyleDefinition(this, o);
h && (e.strokeStyle = h);
} else if (n.hasValue()) {
n.getString() === "currentColor" && n.setValue(this.getStyle("color").getColor());
var f = n.getString();
f !== "inherit" && (e.strokeStyle = f === "none" ? "rgba(0,0,0,0)" : f);
}
if (o.hasValue()) {
var c = new S(this.document, "stroke", e.strokeStyle).addOpacity(o).getString();
e.strokeStyle = c;
}
var v = this.getStyle("stroke-width");
if (v.hasValue()) {
var g = v.getPixels();
e.lineWidth = g || rt;
}
var d = this.getStyle("stroke-linecap"), p = this.getStyle("stroke-linejoin"), y = this.getStyle("stroke-miterlimit"), x = this.getStyle("stroke-dasharray"), b = this.getStyle("stroke-dashoffset");
if (d.hasValue() && (e.lineCap = d.getString()), p.hasValue() && (e.lineJoin = p.getString()), y.hasValue() && (e.miterLimit = y.getNumber()), x.hasValue() && x.getString() !== "none") {
var T = ne(x.getString());
typeof e.setLineDash < "u" ? e.setLineDash(T) : typeof e.webkitLineDash < "u" ? e.webkitLineDash = T : typeof e.mozDash < "u" && !(T.length === 1 && T[0] === 0) && (e.mozDash = T);
var $ = b.getPixels();
typeof e.lineDashOffset < "u" ? e.lineDashOffset = $ : typeof e.webkitLineDashOffset < "u" ? e.webkitLineDashOffset = $ : typeof e.mozDashOffset < "u" && (e.mozDashOffset = $);
}
}
if (this.modifiedEmSizeStack = !1, typeof e.font < "u") {
var E = this.getStyle("font"), O = this.getStyle("font-style"), C = this.getStyle("font-variant"), P = this.getStyle("font-weight"), V = this.getStyle("font-size"), j = this.getStyle("font-family"), R = new Z(O.getString(), C.getString(), P.getString(), V.hasValue() ? "".concat(V.getPixels(!0), "px") : "", j.getString(), Z.parse(E.getString(), e.font));
O.setValue(R.fontStyle), C.setValue(R.fontVariant), P.setValue(R.fontWeight), V.setValue(R.fontSize), j.setValue(R.fontFamily), e.font = R.toString(), V.isPixels() && (this.document.emSize = V.getPixels(), this.modifiedEmSizeStack = !0);
}
t || (this.applyEffects(e), e.globalAlpha = this.calculateOpacity());
}
clearContext(e) {
super.clearContext(e), this.modifiedEmSizeStack && this.document.popEmSize();
}
}
class A extends Ge {
constructor(e, t, r) {
super(e, t, r), this.type = "path", this.pathParser = null, this.pathParser = new w(this.getAttribute("d").getString());
}
path(e) {
var {
pathParser: t
} = this, r = new ce();
for (t.reset(), e && e.beginPath(); !t.isEnd(); )
switch (t.next().type) {
case w.MOVE_TO:
this.pathM(e, r);
break;
case w.LINE_TO:
this.pathL(e, r);
break;
case w.HORIZ_LINE_TO:
this.pathH(e, r);
break;
case w.VERT_LINE_TO:
this.pathV(e, r);
break;
case w.CURVE_TO:
this.pathC(e, r);
break;
case w.SMOOTH_CURVE_TO:
this.pathS(e, r);
break;
case w.QUAD_TO:
this.pathQ(e, r);
break;
case w.SMOOTH_QUAD_TO:
this.pathT(e, r);
break;
case w.ARC:
this.pathA(e, r);
break;
case w.CLOSE_PATH:
this.pathZ(e, r);
break;
}
return r;
}
getBoundingBox(e) {
return this.path();
}
getMarkers() {
var {
pathParser: e
} = this, t = e.getMarkerPoints(), r = e.getMarkerAngles(), i = t.map((n, o) => [n, r[o]]);
return i;
}
renderChildren(e) {
this.path(e), this.document.screen.mouse.checkPath(this, e);
var t = this.getStyle("fill-rule");
e.fillStyle !== "" && (t.getString("inherit") !== "inherit" ? e.fill(t.getString()) : e.fill()), e.strokeStyle !== "" && (this.getAttribute("vector-effect").getString() === "non-scaling-stroke" ? (e.save(), e.setTransform(1, 0, 0, 1, 0, 0), e.stroke(), e.restore()) : e.stroke());
var r = this.getMarkers();
if (r) {
var i = r.length - 1, n = this.getStyle("marker-start"), o = this.getStyle("marker-mid"), s = this.getStyle("marker-end");
if (n.isUrlDefinition()) {
var u = n.getDefinition(), [l, h] = r[0];
u.render(e, l, h);
}
if (o.isUrlDefinition())
for (var f = o.getDefinition(), c = 1; c < i; c++) {
var [v, g] = r[c];
f.render(e, v, g);
}
if (s.isUrlDefinition()) {
var d = s.getDefinition(), [p, y] = r[i];
d.render(e, p, y);
}
}
}
static pathM(e) {
var t = e.getAsCurrentPoint();
return e.start = e.current, {
point: t
};
}
pathM(e, t) {
var {
pathParser: r
} = this, {
point: i
} = A.pathM(r), {
x: n,
y: o
} = i;
r.addMarker(i), t.addPoint(n, o), e && e.moveTo(n, o);
}
static pathL(e) {
var {
current: t
} = e, r = e.getAsCurrentPoint();
return {
current: t,
point: r
};
}
pathL(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathL(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathH(e) {
var {
current: t,
command: r
} = e, i = new k((r.relative ? t.x : 0) + r.x, t.y);
return e.current = i, {
current: t,
point: i
};
}
pathH(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathH(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathV(e) {
var {
current: t,
command: r
} = e, i = new k(t.x, (r.relative ? t.y : 0) + r.y);
return e.current = i, {
current: t,
point: i
};
}
pathV(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathV(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathC(e) {
var {
current: t
} = e, r = e.getPoint("x1", "y1"), i = e.getAsControlPoint("x2", "y2"), n = e.getAsCurrentPoint();
return {
current: t,
point: r,
controlPoint: i,
currentPoint: n
};
}
pathC(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n,
controlPoint: o,
currentPoint: s
} = A.pathC(r);
r.addMarker(s, o, n), t.addBezierCurve(i.x, i.y, n.x, n.y, o.x, o.y, s.x, s.y), e && e.bezierCurveTo(n.x, n.y, o.x, o.y, s.x, s.y);
}
static pathS(e) {
var {
current: t
} = e, r = e.getReflectedControlPoint(), i = e.getAsControlPoint("x2", "y2"), n = e.getAsCurrentPoint();
return {
current: t,
point: r,
controlPoint: i,
currentPoint: n
};
}
pathS(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n,
controlPoint: o,
currentPoint: s
} = A.pathS(r);
r.addMarker(s, o, n), t.addBezierCurve(i.x, i.y, n.x, n.y, o.x, o.y, s.x, s.y), e && e.bezierCurveTo(n.x, n.y, o.x, o.y, s.x, s.y);
}
static pathQ(e) {
var {
current: t
} = e, r = e.getAsControlPoint("x1", "y1"), i = e.getAsCurrentPoint();
return {
current: t,
controlPoint: r,
currentPoint: i
};
}
pathQ(e, t) {
var {
pathParser: r
} = this, {
current: i,
controlPoint: n,
currentPoint: o
} = A.pathQ(r);
r.addMarker(o, n, n), t.addQuadraticCurve(i.x, i.y, n.x, n.y, o.x, o.y), e && e.quadraticCurveTo(n.x, n.y, o.x, o.y);
}
static pathT(e) {
var {
current: t
} = e, r = e.getReflectedControlPoint();
e.control = r;
var i = e.getAsCurrentPoint();
return {
current: t,
controlPoint: r,
currentPoint: i
};
}
pathT(e, t) {
var {
pathParser: r
} = this, {
current: i,
controlPoint: n,
currentPoint: o
} = A.pathT(r);
r.addMarker(o, n, n), t.addQuadraticCurve(i.x, i.y, n.x, n.y, o.x, o.y), e && e.quadraticCurveTo(n.x, n.y, o.x, o.y);
}
static pathA(e) {
var {
current: t,
command: r
} = e, {
rX: i,
rY: n,
xRot: o,
lArcFlag: s,
sweepFlag: u
} = r, l = o * (Math.PI / 180), h = e.getAsCurrentPoint(), f = new k(Math.cos(l) * (t.x - h.x) / 2 + Math.sin(l) * (t.y - h.y) / 2, -Math.sin(l) * (t.x - h.x) / 2 + Math.cos(l) * (t.y - h.y) / 2), c = Math.pow(f.x, 2) / Math.pow(i, 2) + Math.pow(f.y, 2) / Math.pow(n, 2);
c > 1 && (i *= Math.sqrt(c), n *= Math.sqrt(c));
var v = (s === u ? -1 : 1) * Math.sqrt((Math.pow(i, 2) * Math.pow(n, 2) - Math.pow(i, 2) * Math.pow(f.y, 2) - Math.pow(n, 2) * Math.pow(f.x, 2)) / (Math.pow(i, 2) * Math.pow(f.y, 2) + Math.pow(n, 2) * Math.pow(f.x, 2)));
isNaN(v) && (v = 0);
var g = new k(v * i * f.y / n, v * -n * f.x / i), d = new k((t.x + h.x) / 2 + Math.cos(l) * g.x - Math.sin(l) * g.y, (t.y + h.y) / 2 + Math.sin(l) * g.x + Math.cos(l) * g.y), p = xo([1, 0], [(f.x - g.x) / i, (f.y - g.y) / n]), y = [(f.x - g.x) / i, (f.y - g.y) / n], x = [(-f.x - g.x) / i, (-f.y - g.y) / n], b = xo(y, x);
return mi(y, x) <= -1 && (b = Math.PI), mi(y, x) >= 1 && (b = 0), {
currentPoint: h,
rX: i,
rY: n,
sweepFlag: u,
xAxisRotation: l,
centp: d,
a1: p,
ad: b
};
}
pathA(e, t) {
var {
pathParser: r
} = this, {
currentPoint: i,
rX: n,
rY: o,
sweepFlag: s,
xAxisRotation: u,
centp: l,
a1: h,
ad: f
} = A.pathA(r), c = 1 - s ? 1 : -1, v = h + c * (f / 2), g = new k(l.x + n * Math.cos(v), l.y + o * Math.sin(v));
if (r.addMarkerAngle(g, v - c * Math.PI / 2), r.addMarkerAngle(i, v - c * Math.PI), t.addPoint(i.x, i.y), e && !isNaN(h) && !isNaN(f)) {
var d = n > o ? n : o, p = n > o ? 1 : n / o, y = n > o ? o / n : 1;
e.translate(l.x, l.y), e.rotate(u), e.scale(p, y), e.arc(0, 0, d, h, h + f, !!(1 - s)), e.scale(1 / p, 1 / y), e.rotate(-u), e.translate(-l.x, -l.y);
}
}
static pathZ(e) {
e.current = e.start;
}
pathZ(e, t) {
A.pathZ(this.pathParser), e && t.x1 !== t.x2 && t.y1 !== t.y2 && e.closePath();
}
}
class bl extends A {
constructor(e, t, r) {
super(e, t, r), this.type = "glyph", this.horizAdvX = this.getAttribute("horiz-adv-x").getNumber(), this.unicode = this.getAttribute("unicode").getString(), this.arabicForm = this.getAttribute("arabic-form").getString();
}
}
class Ce extends Ge {
constructor(e, t, r) {
super(e, t, new.target === Ce ? !0 : r), this.type = "text", this.x = 0, this.y = 0, this.measureCache = -1;
}
setContext(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
super.setContext(e, t);
var r = this.getStyle("dominant-baseline").getTextBaseline() || this.getStyle("alignment-baseline").getTextBaseline();
r && (e.textBaseline = r);
}
initializeCoordinates() {
this.x = 0, this.y = 0, this.leafTexts = [], this.textChunkStart = 0, this.minX = Number.POSITIVE_INFINITY, this.maxX = Number.NEGATIVE_INFINITY;
}
getBoundingBox(e) {
if (this.type !== "text")
return this.getTElementBoundingBox(e);
this.initializeCoordinates(), this.adjustChildCoordinatesRecursive(e);
var t = null;
return this.children.forEach((r, i) => {
var n = this.getChildBoundingBox(e, this, this, i);
t ? t.addBoundingBox(n) : t = n;
}), t;
}
getFontSize() {
var {
document: e,
parent: t
} = this, r = Z.parse(e.ctx.font).fontSize, i = t.getStyle("font-size").getNumber(r);
return i;
}
getTElementBoundingBox(e) {
var t = this.getFontSize();
return new ce(this.x, this.y - t, this.x + this.measureText(e), this.y);
}
getGlyph(e, t, r) {
var i = t[r], n = null;
if (e.isArabic) {
var o = t.length, s = t[r - 1], u = t[r + 1], l = "isolated";
if ((r === 0 || s === " ") && r < o - 1 && u !== " " && (l = "terminal"), r > 0 && s !== " " && r < o - 1 && u !== " " && (l = "medial"), r > 0 && s !== " " && (r === o - 1 || u === " ") && (l = "initial"), typeof e.glyphs[i] < "u") {
var h = e.glyphs[i];
n = h instanceof bl ? h : h[l];
}
} else
n = e.glyphs[i];
return n || (n = e.missingGlyph), n;
}
getText() {
return "";
}
getTextFromNode(e) {
var t = e || this.node, r = Array.from(t.parentNode.childNodes), i = r.indexOf(t), n = r.length - 1, o = lt(
// textNode.value
// || textNode.text
t.textContent || ""
);
return i === 0 && (o = n1(o)), i === n && (o = s1(o)), o;
}
renderChildren(e) {
if (this.type !== "text") {
this.renderTElementChildren(e);
return;
}
this.initializeCoordinates(), this.adjustChildCoordinatesRecursive(e), this.children.forEach((r, i) => {
this.renderChild(e, this, this, i);
});
var {
mouse: t
} = this.document.screen;
t.isWorking() && t.checkBoundingBox(this, this.getBoundingBox(e));
}
renderTElementChildren(e) {
var {
document: t,
parent: r
} = this, i = this.getText(), n = r.getStyle("font-family").getDefinition();
if (n) {
for (var {
unitsPerEm: o
} = n.fontFace, s = Z.parse(t.ctx.font), u = r.getStyle("font-size").getNumber(s.fontSize), l = r.getStyle("font-style").getString(s.fontStyle), h = u / o, f = n.isRTL ? i.split("").reverse().join("") : i, c = ne(r.getAttribute("dx").getString()), v = f.length, g = 0; g < v; g++) {
var d = this.getGlyph(n, f, g);
e.translate(this.x, this.y), e.scale(h, -h);
var p = e.lineWidth;
e.lineWidth = e.lineWidth * o / u, l === "italic" && e.transform(1, 0, 0.4, 1, 0, 0), d.render(e), l === "italic" && e.transform(1, 0, -0.4, 1, 0, 0), e.lineWidth = p, e.scale(1 / h, -1 / h), e.translate(-this.x, -this.y), this.x += u * (d.horizAdvX || n.horizAdvX) / o, typeof c[g] < "u" && !isNaN(c[g]) && (this.x += c[g]);
}
return;
}
var {
x: y,
y: x
} = this;
e.fillStyle && e.fillText(i, y, x), e.strokeStyle && e.strokeText(i, y, x);
}
applyAnchoring() {
if (!(this.textChunkStart >= this.leafTexts.length)) {
var e = this.leafTexts[this.textChunkStart], t = e.getStyle("text-anchor").getString("start"), r = !1, i = 0;
t === "start" && !r || t === "end" && r ? i = e.x - this.minX : t === "end" && !r || t === "start" && r ? i = e.x - this.maxX : i = e.x - (this.minX + this.maxX) / 2;
for (var n = this.textChunkStart; n < this.leafTexts.length; n++)
this.leafTexts[n].x += i;
this.minX = Number.POSITIVE_INFINITY, this.maxX = Number.NEGATIVE_INFINITY, this.textChunkStart = this.leafTexts.length;
}
}
adjustChildCoordinatesRecursive(e) {
this.children.forEach((t, r) => {
this.adjustChildCoordinatesRecursiveCore(e, this, this, r);
}), this.applyAnchoring();
}
adjustChildCoordinatesRecursiveCore(e, t, r, i) {
var n = r.children[i];
n.children.length > 0 ? n.children.forEach((o, s) => {
t.adjustChildCoordinatesRecursiveCore(e, t, n, s);
}) : this.adjustChildCoordinates(e, t, r, i);
}
adjustChildCoordinates(e, t, r, i) {
var n = r.children[i];
if (typeof n.measureText != "function")
return n;
e.save(), n.setContext(e, !0);
var o = n.getAttribute("x"), s = n.getAttribute("y"), u = n.getAttribute("dx"), l = n.getAttribute("dy"), h = n.getStyle("font-family").getDefinition(), f = !!h && h.isRTL;
i === 0 && (o.hasValue() || o.setValue(n.getInheritedAttribute("x")), s.hasValue() || s.setValue(n.getInheritedAttribute("y")), u.hasValue() || u.setValue(n.getInheritedAttribute("dx")), l.hasValue() || l.setValue(n.getInheritedAttribute("dy")));
var c = n.measureText(e);
return f && (t.x -= c), o.hasValue() ? (t.applyAnchoring(), n.x = o.getPixels("x"), u.hasValue() && (n.x += u.getPixels("x"))) : (u.hasValue() && (t.x += u.getPixels("x")), n.x = t.x), t.x = n.x, f || (t.x += c), s.hasValue() ? (n.y = s.getPixels("y"), l.hasValue() && (n.y += l.getPixels("y"))) : (l.hasValue() && (t.y += l.getPixels("y")), n.y = t.y), t.y = n.y, t.leafTexts.push(n), t.minX = Math.min(t.minX, n.x, n.x + c), t.maxX = Math.max(t.maxX, n.x, n.x + c), n.clearContext(e), e.restore(), n;
}
getChildBoundingBox(e, t, r, i) {
var n = r.children[i];
if (typeof n.getBoundingBox != "function")
return null;
var o = n.getBoundingBox(e);
return o ? (n.children.forEach((s, u) => {
var l = t.getChildBoundingBox(e, t, n, u);
o.addBoundingBox(l);
}), o) : null;
}
renderChild(e, t, r, i) {
var n = r.children[i];
n.render(e), n.children.forEach((o, s) => {
t.renderChild(e, t, n, s);
});
}
measureText(e) {
var {
measureCache: t
} = this;
if (~t)
return t;
var r = this.getText(), i = this.measureTargetText(e, r);
return this.measureCache = i, i;
}
measureTargetText(e, t) {
if (!t.length)
return 0;
var {
parent: r
} = this, i = r.getStyle("font-family").getDefinition();
if (i) {
for (var n = this.getFontSize(), o = i.isRTL ? t.split("").reverse().join("") : t, s = ne(r.getAttribute("dx").getString()), u = o.length, l = 0, h = 0; h < u; h++) {
var f = this.getGlyph(i, o, h);
l += (f.horizAdvX || i.horizAdvX) * n / i.fontFace.unitsPerEm, typeof s[h] < "u" && !isNaN(s[h]) && (l += s[h]);
}
return l;
}
if (!e.measureText)
return t.length * 10;
e.save(), this.setContext(e, !0);
var {
width: c
} = e.measureText(t);
return this.clearContext(e), e.restore(), c;
}
/**
* Inherits positional attributes from {@link TextElement} parent(s). Attributes
* are only inherited from a parent to its first child.
* @param name - The attribute name.
* @returns The attribute value or null.
*/
getInheritedAttribute(e) {
for (var t = this; t instanceof Ce && t.isFirstChild(); ) {
var r = t.parent.getAttribute(e);
if (r.hasValue(!0))
return r.getValue("0");
t = t.parent;
}
return null;
}
}
class Lr extends Ce {
constructor(e, t, r) {
super(e, t, new.target === Lr ? !0 : r), this.type = "tspan", this.text = this.children.length > 0 ? "" : this.getTextFromNode();
}
getText() {
return this.text;
}
}
class _1 extends Lr {
constructor() {
super(...arguments), this.type = "textNode";
}
}
class Nt extends Ge {
constructor() {
super(...arguments), this.type = "svg", this.root = !1;
}
setContext(e) {
var t, {
document: r
} = this, {
screen: i,
window: n
} = r, o = e.canvas;
if (i.setDefaults(e), o.style && typeof e.font < "u" && n && typeof n.getComputedStyle < "u") {
e.font = n.getComputedStyle(o).getPropertyValue("font");
var s = new S(r, "fontSize", Z.parse(e.font).fontSize);
s.hasValue() && (r.rootEmSize = s.getPixels("y"), r.emSize = r.rootEmSize);
}
this.getAttribute("x").hasValue() || this.getAttribute("x", !0).setValue(0), this.getAttribute("y").hasValue() || this.getAttribute("y", !0).setValue(0);
var {
width: u,
height: l
} = i.viewPort;
this.getStyle("width").hasValue() || this.getStyle("width", !0).setValue("100%"), this.getStyle("height").hasValue() || this.getStyle("height", !0).setValue("100%"), this.getStyle("color").hasValue() || this.getStyle("color", !0).setValue("black");
var h = this.getAttribute("refX"), f = this.getAttribute("refY"), c = this.getAttribute("viewBox"), v = c.hasValue() ? ne(c.getString()) : null, g = !this.root && this.getStyle("overflow").getValue("hidden") !== "visible", d = 0, p = 0, y = 0, x = 0;
v && (d = v[0], p = v[1]), this.root || (u = this.getStyle("width").getPixels("x"), l = this.getStyle("height").getPixels("y"), this.type === "marker" && (y = d, x = p, d = 0, p = 0)), i.viewPort.setCurrent(u, l), this.node && (!this.parent || ((t = this.node.parentNode) === null || t === void 0 ? void 0 : t.nodeName) === "foreignObject") && this.getStyle("transform", !1, !0).hasValue() && !this.getStyle("transform-origin", !1, !0).hasValue() && this.getStyle("transform-origin", !0, !0).setValue("50% 50%"), super.setContext(e), e.translate(this.getAttribute("x").getPixels("x"), this.getAttribute("y").getPixels("y")), v && (u = v[2], l = v[3]), r.setViewBox({
ctx: e,
aspectRatio: this.getAttribute("preserveAspectRatio").getString(),
width: i.viewPort.width,
desiredWidth: u,
height: i.viewPort.height,
desiredHeight: l,
minX: d,
minY: p,
refX: h.getValue(),
refY: f.getValue(),
clip: g,
clipX: y,
clipY: x
}), v && (i.viewPort.removeCurrent(), i.viewPort.setCurrent(u, l));
}
clearContext(e) {
super.clearContext(e), this.document.screen.viewPort.removeCurrent();
}
/**
* Resize SVG to fit in given size.
* @param width
* @param height
* @param preserveAspectRatio
*/
resize(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, i = this.getAttribute("width", !0), n = this.getAttribute("height", !0), o = this.getAttribute("viewBox"), s = this.getAttribute("style"), u = i.getNumber(0), l = n.getNumber(0);
if (r)
if (typeof r == "string")
this.getAttribute("preserveAspectRatio", !0).setValue(r);
else {
var h = this.getAttribute("preserveAspectRatio");
h.hasValue() && h.setValue(h.getString().replace(/^\s*(\S.*\S)\s*$/, "$1"));
}
if (i.setValue(e), n.setValue(t), o.hasValue() || o.setValue("0 0 ".concat(u || e, " ").concat(l || t)), s.hasValue()) {
var f = this.getStyle("width"), c = this.getStyle("height");
f.hasValue() && f.setValue("".concat(e, "px")), c.hasValue() && c.setValue("".concat(t, "px"));
}
}
}
class xl extends A {
constructor() {
super(...arguments), this.type = "rect";
}
path(e) {
var t = this.getAttribute("x").getPixels("x"), r = this.getAttribute("y").getPixels("y"), i = this.getStyle("width", !1, !0).getPixels("x"), n = this.getStyle("height", !1, !0).getPixels("y"), o = this.getAttribute("rx"), s = this.getAttribute("ry"), u = o.getPixels("x"), l = s.getPixels("y");
if (o.hasValue() && !s.hasValue() && (l = u), s.hasValue() && !o.hasValue() && (u = l), u = Math.min(u, i / 2), l = Math.min(l, n / 2), e) {
var h = 4 * ((Math.sqrt(2) - 1) / 3);
e.beginPath(), n > 0 && i > 0 && (e.moveTo(t + u, r), e.lineTo(t + i - u, r), e.bezierCurveTo(t + i - u + h * u, r, t + i, r + l - h * l, t + i, r + l), e.lineTo(t + i, r + n - l), e.bezierCurveTo(t + i, r + n - l + h * l, t + i - u + h * u, r + n, t + i - u, r + n), e.lineTo(t + u, r + n), e.bezierCurveTo(t + u - h * u, r + n, t, r + n - l + h * l, t, r + n - l), e.lineTo(t, r + l), e.bezierCurveTo(t, r + l - h * l, t + u - h * u, r, t + u, r), e.closePath());
}
return new ce(t, r, t + i, r + n);
}
getMarkers() {
return null;
}
}
class V1 extends A {
constructor() {
super(...arguments), this.type = "circle";
}
path(e) {
var t = this.getAttribute("cx").getPixels("x"), r = this.getAttribute("cy").getPixels("y"), i = this.getAttribute("r").getPixels();
return e && i > 0 && (e.beginPath(), e.arc(t, r, i, 0, Math.PI * 2, !1), e.closePath()), new ce(t - i, r - i, t + i, r + i);
}
getMarkers() {
return null;
}
}
class D1 extends A {
constructor() {
super(...arguments), this.type = "ellipse";
}
path(e) {
var t = 4 * ((Math.sqrt(2) - 1) / 3), r = this.getAttribute("rx").getPixels("x"), i = this.getAttribute("ry").getPixels("y"), n = this.getAttribute("cx").getPixels("x"), o = this.getAttribute("cy").getPixels("y");
return e && r > 0 && i > 0 && (e.beginPath(), e.moveTo(n + r, o), e.bezierCurveTo(n + r, o + t * i, n + t * r, o + i, n, o + i), e.bezierCurveTo(n - t * r, o + i, n - r, o + t * i, n - r, o), e.bezierCurveTo(n - r, o - t * i, n - t * r, o - i, n, o - i), e.bezierCurveTo(n + t * r, o - i, n + r, o - t * i, n + r, o), e.closePath()), new ce(n - r, o - i, n + r, o + i);
}
getMarkers() {
return null;
}
}
class L1 extends A {
constructor() {
super(...arguments), this.type = "line";
}
getPoints() {
return [new k(this.getAttribute("x1").getPixels("x"), this.getAttribute("y1").getPixels("y")), new k(this.getAttribute("x2").getPixels("x"), this.getAttribute("y2").getPixels("y"))];
}
path(e) {
var [{
x: t,
y: r
}, {
x: i,
y: n
}] = this.getPoints();
return e && (e.beginPath(), e.moveTo(t, r), e.lineTo(i, n)), new ce(t, r, i, n);
}
getMarkers() {
var [e, t] = this.getPoints(), r = e.angleTo(t);
return [[e, r], [t, r]];
}
}
class Tl extends A {
constructor(e, t, r) {
super(e, t, r), this.type = "polyline", this.points = [], this.points = k.parsePath(this.getAttribute("points").getString());
}
path(e) {
var {
points: t
} = this, [{
x: r,
y: i
}] = t, n = new ce(r, i);
return e && (e.beginPath(), e.moveTo(r, i)), t.forEach((o) => {
var {
x: s,
y: u
} = o;
n.addPoint(s, u), e && e.lineTo(s, u);
}), n;
}
getMarkers() {
var {
points: e
} = this, t = e.length - 1, r = [];
return e.forEach((i, n) => {
n !== t && r.push([i, i.angleTo(e[n + 1])]);
}), r.length > 0 && r.push([e[e.length - 1], r[r.length - 1][1]]), r;
}
}
class k1 extends Tl {
constructor() {
super(...arguments), this.type = "polygon";
}
path(e) {
var t = super.path(e), [{
x: r,
y: i
}] = this.points;
return e && (e.lineTo(r, i), e.closePath()), t;
}
}
class B1 extends I {
constructor() {
super(...arguments), this.type = "pattern";
}
createPattern(e, t, r) {
var i = this.getStyle("width").getPixels("x", !0), n = this.getStyle("height").getPixels("y", !0), o = new Nt(this.document, null);
o.attributes.viewBox = new S(this.document, "viewBox", this.getAttribute("viewBox").getValue()), o.attributes.width = new S(this.document, "width", "".concat(i, "px")), o.attributes.height = new S(this.document, "height", "".concat(n, "px")), o.attributes.transform = new S(this.document, "transform", this.getAttribute("patternTransform").getValue()), o.children = this.children;
var s = this.document.createCanvas(i, n), u = s.getContext("2d"), l = this.getAttribute("x"), h = this.getAttribute("y");
l.hasValue() && h.hasValue() && u.translate(l.getPixels("x", !0), h.getPixels("y", !0)), r.hasValue() ? this.styles["fill-opacity"] = r : Reflect.deleteProperty(this.styles, "fill-opacity");
for (var f = -1; f <= 1; f++)
for (var c = -1; c <= 1; c++)
u.save(), o.attributes.x = new S(this.document, "x", f * s.width), o.attributes.y = new S(this.document, "y", c * s.height), o.render(u), u.restore();
var v = e.createPattern(s, "repeat");
return v;
}
}
class j1 extends I {
constructor() {
super(...arguments), this.type = "marker";
}
render(e, t, r) {
if (t) {
var {
x: i,
y: n
} = t, o = this.getAttribute("orient").getString("auto"), s = this.getAttribute("markerUnits").getString("strokeWidth");
e.translate(i, n), o === "auto" && e.rotate(r), s === "strokeWidth" && e.scale(e.lineWidth, e.lineWidth), e.save();
var u = new Nt(this.document, null);
u.type = this.type, u.attributes.viewBox = new S(this.document, "viewBox", this.getAttribute("viewBox").getValue()), u.attributes.refX = new S(this.document, "refX", this.getAttribute("refX").getValue()), u.attributes.refY = new S(this.document, "refY", this.getAttribute("refY").getValue()), u.attributes.width = new S(this.document, "width", this.getAttribute("markerWidth").getValue()), u.attributes.height = new S(this.document, "height", this.getAttribute("markerHeight").getValue()), u.attributes.overflow = new S(this.document, "overflow", this.getAttribute("overflow").getValue()), u.attributes.fill = new S(this.document, "fill", this.getAttribute("fill").getColor("black")), u.attributes.stroke = new S(this.document, "stroke", this.getAttribute("stroke").getValue("none")), u.children = this.children, u.render(e), e.restore(), s === "strokeWidth" && e.scale(1 / e.lineWidth, 1 / e.lineWidth), o === "auto" && e.rotate(-r), e.translate(-i, -n);
}
}
}
class F1 extends I {
constructor() {
super(...arguments), this.type = "defs";
}
render() {
}
}
class rn extends Ge {
constructor() {
super(...arguments), this.type = "g";
}
getBoundingBox(e) {
var t = new ce();
return this.children.forEach((r) => {
t.addBoundingBox(r.getBoundingBox(e));
}), t;
}
}
class Ol extends I {
constructor(e, t, r) {
super(e, t, r), this.attributesToInherit = ["gradientUnits"], this.stops = [];
var {
stops: i,
children: n
} = this;
n.forEach((o) => {
o.type === "stop" && i.push(o);
});
}
getGradientUnits() {
return this.getAttribute("gradientUnits").getString("objectBoundingBox");
}
createGradient(e, t, r) {
var i = this;
this.getHrefAttribute().hasValue() && (i = this.getHrefAttribute().getDefinition(), this.inheritStopContainer(i));
var {
stops: n
} = i, o = this.getGradient(e, t);
if (!o)
return this.addParentOpacity(r, n[n.length - 1].color);
if (n.forEach((p) => {
o.addColorStop(p.offset, this.addParentOpacity(r, p.color));
}), this.getAttribute("gradientTransform").hasValue()) {
var {
document: s
} = this, {
MAX_VIRTUAL_PIXELS: u,
viewPort: l
} = s.screen, [h] = l.viewPorts, f = new xl(s, null);
f.attributes.x = new S(s, "x", -u / 3), f.attributes.y = new S(s, "y", -u / 3), f.attributes.width = new S(s, "width", u), f.attributes.height = new S(s, "height", u);
var c = new rn(s, null);
c.attributes.transform = new S(s, "transform", this.getAttribute("gradientTransform").getValue()), c.children = [f];
var v = new Nt(s, null);
v.attributes.x = new S(s, "x", 0), v.attributes.y = new S(s, "y", 0), v.attributes.width = new S(s, "width", h.width), v.attributes.height = new S(s, "height", h.height), v.children = [c];
var g = s.createCanvas(h.width, h.height), d = g.getContext("2d");
return d.fillStyle = o, v.render(d), d.createPattern(g, "no-repeat");
}
return o;
}
inheritStopContainer(e) {
this.attributesToInherit.forEach((t) => {
!this.getAttribute(t).hasValue() && e.getAttribute(t).hasValue() && this.getAttribute(t, !0).setValue(e.getAttribute(t).getValue());
});
}
addParentOpacity(e, t) {
if (e.hasValue()) {
var r = new S(this.document, "color", t);
return r.addOpacity(e).getColor();
}
return t;
}
}
class U1 extends Ol {
constructor(e, t, r) {
super(e, t, r), this.type = "linearGradient", this.attributesToInherit.push("x1", "y1", "x2", "y2");
}
getGradient(e, t) {
var r = this.getGradientUnits() === "objectBoundingBox", i = r ? t.getBoundingBox(e) : null;
if (r && !i)
return null;
!this.getAttribute("x1").hasValue() && !this.getAttribute("y1").hasValue() && !this.getAttribute("x2").hasValue() && !this.getAttribute("y2").hasValue() && (this.getAttribute("x1", !0).setValue(0), this.getAttribute("y1", !0).setValue(0), this.getAttribute("x2", !0).setValue(1), this.getAttribute("y2", !0).setValue(0));
var n = r ? i.x + i.width * this.getAttribute("x1").getNumber() : this.getAttribute("x1").getPixels("x"), o = r ? i.y + i.height * this.getAttribute("y1").getNumber() : this.getAttribute("y1").getPixels("y"), s = r ? i.x + i.width * this.getAttribute("x2").getNumber() : this.getAttribute("x2").getPixels("x"), u = r ? i.y + i.height * this.getAttribute("y2").getNumber() : this.getAttribute("y2").getPixels("y");
return n === s && o === u ? null : e.createLinearGradient(n, o, s, u);
}
}
class G1 extends Ol {
constructor(e, t, r) {
super(e, t, r), this.type = "radialGradient", this.attributesToInherit.push("cx", "cy", "r", "fx", "fy", "fr");
}
getGradient(e, t) {
var r = this.getGradientUnits() === "objectBoundingBox", i = t.getBoundingBox(e);
if (r && !i)
return null;
this.getAttribute("cx").hasValue() || this.getAttribute("cx", !0).setValue("50%"), this.getAttribute("cy").hasValue() || this.getAttribute("cy", !0).setValue("50%"), this.getAttribute("r").hasValue() || this.getAttribute("r", !0).setValue("50%");
var n = r ? i.x + i.width * this.getAttribute("cx").getNumber() : this.getAttribute("cx").getPixels("x"), o = r ? i.y + i.height * this.getAttribute("cy").getNumber() : this.getAttribute("cy").getPixels("y"), s = n, u = o;
this.getAttribute("fx").hasValue() && (s = r ? i.x + i.width * this.getAttribute("fx").getNumber() : this.getAttribute("fx").getPixels("x")), this.getAttribute("fy").hasValue() && (u = r ? i.y + i.height * this.getAttribute("fy").getNumber() : this.getAttribute("fy").getPixels("y"));
var l = r ? (i.width + i.height) / 2 * this.getAttribute("r").getNumber() : this.getAttribute("r").getPixels(), h = this.getAttribute("fr").getPixels();
return e.createRadialGradient(s, u, h, n, o, l);
}
}
class z1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "stop";
var i = Math.max(0, Math.min(1, this.getAttribute("offset").getNumber())), n = this.getStyle("stop-opacity"), o = this.getStyle("stop-color", !0);
o.getString() === "" && o.setValue("#000"), n.hasValue() && (o = o.addOpacity(n)), this.offset = i, this.color = o.getColor();
}
}
class an extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "animate", this.duration = 0, this.initialValue = null, this.initialUnits = "", this.removed = !1, this.frozen = !1, e.screen.animations.push(this), this.begin = this.getAttribute("begin").getMilliseconds(), this.maxDuration = this.begin + this.getAttribute("dur").getMilliseconds(), this.from = this.getAttribute("from"), this.to = this.getAttribute("to"), this.values = new S(e, "values", null);
var i = this.getAttribute("values");
i.hasValue() && this.values.setValue(i.getString().split(";"));
}
getProperty() {
var e = this.getAttribute("attributeType").getString(), t = this.getAttribute("attributeName").getString();
return e === "CSS" ? this.parent.getStyle(t, !0) : this.parent.getAttribute(t, !0);
}
calcValue() {
var {
initialUnits: e
} = this, {
progress: t,
from: r,
to: i
} = this.getProgress(), n = r.getNumber() + (i.getNumber() - r.getNumber()) * t;
return e === "%" && (n *= 100), "".concat(n).concat(e);
}
update(e) {
var {
parent: t
} = this, r = this.getProperty();
if (this.initialValue || (this.initialValue = r.getString(), this.initialUnits = r.getUnits()), this.duration > this.maxDuration) {
var i = this.getAttribute("fill").getString("remove");
if (this.getAttribute("repeatCount").getString() === "indefinite" || this.getAttribute("repeatDur").getString() === "indefinite")
this.duration = 0;
else if (i === "freeze" && !this.frozen)
this.frozen = !0, t.animationFrozen = !0, t.animationFrozenValue = r.getString();
else if (i === "remove" && !this.removed)
return this.removed = !0, r.setValue(t.animationFrozen ? t.animationFrozenValue : this.initialValue), !0;
return !1;
}
this.duration += e;
var n = !1;
if (this.begin < this.duration) {
var o = this.calcValue(), s = this.getAttribute("type");
if (s.hasValue()) {
var u = s.getString();
o = "".concat(u, "(").concat(o, ")");
}
r.setValue(o), n = !0;
}
return n;
}
getProgress() {
var {
document: e,
values: t
} = this, r = {
progress: (this.duration - this.begin) / (this.maxDuration - this.begin)
};
if (t.hasValue()) {
var i = r.progress * (t.getValue().length - 1), n = Math.floor(i), o = Math.ceil(i);
r.from = new S(e, "from", parseFloat(t.getValue()[n])), r.to = new S(e, "to", parseFloat(t.getValue()[o])), r.progress = (i - n) / (o - n);
} else
r.from = this.from, r.to = this.to;
return r;
}
}
class H1 extends an {
constructor() {
super(...arguments), this.type = "animateColor";
}
calcValue() {
var {
progress: e,
from: t,
to: r
} = this.getProgress(), i = new di(t.getColor()), n = new di(r.getColor());
if (i.ok && n.ok) {
var o = i.r + (n.r - i.r) * e, s = i.g + (n.g - i.g) * e, u = i.b + (n.b - i.b) * e;
return "rgb(".concat(Math.floor(o), ", ").concat(Math.floor(s), ", ").concat(Math.floor(u), ")");
}
return this.getAttribute("from").getColor();
}
}
class Y1 extends an {
constructor() {
super(...arguments), this.type = "animateTransform";
}
calcValue() {
var {
progress: e,
from: t,
to: r
} = this.getProgress(), i = ne(t.getString()), n = ne(r.getString()), o = i.map((s, u) => {
var l = n[u];
return s + (l - s) * e;
}).join(" ");
return o;
}
}
class X1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "font", this.glyphs = /* @__PURE__ */ Object.create(null), this.horizAdvX = this.getAttribute("horiz-adv-x").getNumber();
var {
definitions: i
} = e, {
children: n
} = this;
for (var o of n)
switch (o.type) {
case "font-face": {
this.fontFace = o;
var s = o.getStyle("font-family");
s.hasValue() && (i[s.getString()] = this);
break;
}
case "missing-glyph":
this.missingGlyph = o;
break;
case "glyph": {
var u = o;
u.arabicForm ? (this.isRTL = !0, this.isArabic = !0, typeof this.glyphs[u.unicode] > "u" && (this.glyphs[u.unicode] = /* @__PURE__ */ Object.create(null)), this.glyphs[u.unicode][u.arabicForm] = u) : this.glyphs[u.unicode] = u;
break;
}
}
}
render() {
}
}
class W1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "font-face", this.ascent = this.getAttribute("ascent").getNumber(), this.descent = this.getAttribute("descent").getNumber(), this.unitsPerEm = this.getAttribute("units-per-em").getNumber();
}
}
class q1 extends A {
constructor() {
super(...arguments), this.type = "missing-glyph", this.horizAdvX = 0;
}
}
class Q1 extends Ce {
constructor() {
super(...arguments), this.type = "tref";
}
getText() {
var e = this.getHrefAttribute().getDefinition();
if (e) {
var t = e.children[0];
if (t)
return t.getText();
}
return "";
}
}
class K1 extends Ce {
constructor(e, t, r) {
super(e, t, r), this.type = "a";
var {
childNodes: i
} = t, n = i[0], o = i.length > 0 && Array.from(i).every((s) => s.nodeType === 3);
this.hasText = o, this.text = o ? this.getTextFromNode(n) : "";
}
getText() {
return this.text;
}
renderChildren(e) {
if (this.hasText) {
super.renderChildren(e);
var {
document: t,
x: r,
y: i
} = this, {
mouse: n
} = t.screen, o = new S(t, "fontSize", Z.parse(t.ctx.font).fontSize);
n.isWorking() && n.checkBoundingBox(this, new ce(r, i - o.getPixels("y"), r + this.measureText(e), i));
} else if (this.children.length > 0) {
var s = new rn(this.document, null);
s.children = this.children, s.parent = this, s.render(e);
}
}
onClick() {
var {
window: e
} = this.document;
e && e.open(this.getHrefAttribute().getString());
}
onMouseMove() {
var e = this.document.ctx;
e.canvas.style.cursor = "pointer";
}
}
function Ao(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function ir(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? Ao(Object(t), !0).forEach(function(r) {
en(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : Ao(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
class Z1 extends Ce {
constructor(e, t, r) {
super(e, t, r), this.type = "textPath", this.textWidth = 0, this.textHeight = 0, this.pathLength = -1, this.glyphInfo = null, this.letterSpacingCache = [], this.measuresCache = /* @__PURE__ */ new Map([["", 0]]);
var i = this.getHrefAttribute().getDefinition();
this.text = this.getTextFromNode(), this.dataArray = this.parsePathData(i);
}
getText() {
return this.text;
}
path(e) {
var {
dataArray: t
} = this;
e && e.beginPath(), t.forEach((r) => {
var {
type: i,
points: n
} = r;
switch (i) {
case w.LINE_TO:
e && e.lineTo(n[0], n[1]);
break;
case w.MOVE_TO:
e && e.moveTo(n[0], n[1]);
break;
case w.CURVE_TO:
e && e.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]);
break;
case w.QUAD_TO:
e && e.quadraticCurveTo(n[0], n[1], n[2], n[3]);
break;
case w.ARC: {
var [o, s, u, l, h, f, c, v] = n, g = u > l ? u : l, d = u > l ? 1 : u / l, p = u > l ? l / u : 1;
e && (e.translate(o, s), e.rotate(c), e.scale(d, p), e.arc(0, 0, g, h, h + f, !!(1 - v)), e.scale(1 / d, 1 / p), e.rotate(-c), e.translate(-o, -s));
break;
}
case w.CLOSE_PATH:
e && e.closePath();
break;
}
});
}
renderChildren(e) {
this.setTextData(e), e.save();
var t = this.parent.getStyle("text-decoration").getString(), r = this.getFontSize(), {
glyphInfo: i
} = this, n = e.fillStyle;
t === "underline" && e.beginPath(), i.forEach((o, s) => {
var {
p0: u,
p1: l,
rotation: h,
text: f
} = o;
e.save(), e.translate(u.x, u.y), e.rotate(h), e.fillStyle && e.fillText(f, 0, 0), e.strokeStyle && e.strokeText(f, 0, 0), e.restore(), t === "underline" && (s === 0 && e.moveTo(u.x, u.y + r / 8), e.lineTo(l.x, l.y + r / 5));
}), t === "underline" && (e.lineWidth = r / 20, e.strokeStyle = n, e.stroke(), e.closePath()), e.restore();
}
getLetterSpacingAt() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return this.letterSpacingCache[e] || 0;
}
findSegmentToFitChar(e, t, r, i, n, o, s, u, l) {
var h = o, f = this.measureText(e, u);
u === " " && t === "justify" && r < i && (f += (i - r) / n), l > -1 && (h += this.getLetterSpacingAt(l));
var c = this.textHeight / 20, v = this.getEquidistantPointOnPath(h, c, 0), g = this.getEquidistantPointOnPath(h + f, c, 0), d = {
p0: v,
p1: g
}, p = v && g ? Math.atan2(g.y - v.y, g.x - v.x) : 0;
if (s) {
var y = Math.cos(Math.PI / 2 + p) * s, x = Math.cos(-p) * s;
d.p0 = ir(ir({}, v), {}, {
x: v.x + y,
y: v.y + x
}), d.p1 = ir(ir({}, g), {}, {
x: g.x + y,
y: g.y + x
});
}
return h += f, {
offset: h,
segment: d,
rotation: p
};
}
measureText(e, t) {
var {
measuresCache: r
} = this, i = t || this.getText();
if (r.has(i))
return r.get(i);
var n = this.measureTargetText(e, i);
return r.set(i, n), n;
}
// This method supposes what all custom fonts already loaded.
// If some font will be loaded after this method call, <textPath> will not be rendered correctly.
// You need to call this method manually to update glyphs cache.
setTextData(e) {
if (!this.glyphInfo) {
var t = this.getText(), r = t.split(""), i = t.split(" ").length - 1, n = this.parent.getAttribute("dx").split().map((T) => T.getPixels("x")), o = this.parent.getAttribute("dy").getPixels("y"), s = this.parent.getStyle("text-anchor").getString("start"), u = this.getStyle("letter-spacing"), l = this.parent.getStyle("letter-spacing"), h = 0;
!u.hasValue() || u.getValue() === "inherit" ? h = l.getPixels() : u.hasValue() && u.getValue() !== "initial" && u.getValue() !== "unset" && (h = u.getPixels());
var f = [], c = t.length;
this.letterSpacingCache = f;
for (var v = 0; v < c; v++)
f.push(typeof n[v] < "u" ? n[v] : h);
var g = f.reduce((T, $, E) => E === 0 ? 0 : T + $ || 0, 0), d = this.measureText(e), p = Math.max(d + g, 0);
this.textWidth = d, this.textHeight = this.getFontSize(), this.glyphInfo = [];
var y = this.getPathLength(), x = this.getStyle("startOffset").getNumber(0) * y, b = 0;
(s === "middle" || s === "center") && (b = -p / 2), (s === "end" || s === "right") && (b = -p), b += x, r.forEach((T, $) => {
var {
offset: E,
segment: O,
rotation: C
} = this.findSegmentToFitChar(e, s, p, y, i, b, o, T, $);
b = E, !(!O.p0 || !O.p1) && this.glyphInfo.push({
// transposeX: midpoint.x,
// transposeY: midpoint.y,
text: r[$],
p0: O.p0,
p1: O.p1,
rotation: C
});
});
}
}
parsePathData(e) {
if (this.pathLength = -1, !e)
return [];
var t = [], {
pathParser: r
} = e;
for (r.reset(); !r.isEnd(); ) {
var {
current: i
} = r, n = i ? i.x : 0, o = i ? i.y : 0, s = r.next(), u = s.type, l = [];
switch (s.type) {
case w.MOVE_TO:
this.pathM(r, l);
break;
case w.LINE_TO:
u = this.pathL(r, l);
break;
case w.HORIZ_LINE_TO:
u = this.pathH(r, l);
break;
case w.VERT_LINE_TO:
u = this.pathV(r, l);
break;
case w.CURVE_TO:
this.pathC(r, l);
break;
case w.SMOOTH_CURVE_TO:
u = this.pathS(r, l);
break;
case w.QUAD_TO:
this.pathQ(r, l);
break;
case w.SMOOTH_QUAD_TO:
u = this.pathT(r, l);
break;
case w.ARC:
l = this.pathA(r);
break;
case w.CLOSE_PATH:
A.pathZ(r);
break;
}
s.type !== w.CLOSE_PATH ? t.push({
type: u,
points: l,
start: {
x: n,
y: o
},
pathLength: this.calcLength(n, o, u, l)
}) : t.push({
type: w.CLOSE_PATH,
points: [],
pathLength: 0
});
}
return t;
}
pathM(e, t) {
var {
x: r,
y: i
} = A.pathM(e).point;
t.push(r, i);
}
pathL(e, t) {
var {
x: r,
y: i
} = A.pathL(e).point;
return t.push(r, i), w.LINE_TO;
}
pathH(e, t) {
var {
x: r,
y: i
} = A.pathH(e).point;
return t.push(r, i), w.LINE_TO;
}
pathV(e, t) {
var {
x: r,
y: i
} = A.pathV(e).point;
return t.push(r, i), w.LINE_TO;
}
pathC(e, t) {
var {
point: r,
controlPoint: i,
currentPoint: n
} = A.pathC(e);
t.push(r.x, r.y, i.x, i.y, n.x, n.y);
}
pathS(e, t) {
var {
point: r,
controlPoint: i,
currentPoint: n
} = A.pathS(e);
return t.push(r.x, r.y, i.x, i.y, n.x, n.y), w.CURVE_TO;
}
pathQ(e, t) {
var {
controlPoint: r,
currentPoint: i
} = A.pathQ(e);
t.push(r.x, r.y, i.x, i.y);
}
pathT(e, t) {
var {
controlPoint: r,
currentPoint: i
} = A.pathT(e);
return t.push(r.x, r.y, i.x, i.y), w.QUAD_TO;
}
pathA(e) {
var {
rX: t,
rY: r,
sweepFlag: i,
xAxisRotation: n,
centp: o,
a1: s,
ad: u
} = A.pathA(e);
return i === 0 && u > 0 && (u -= 2 * Math.PI), i === 1 && u < 0 && (u += 2 * Math.PI), [o.x, o.y, t, r, s, u, n, i];
}
calcLength(e, t, r, i) {
var n = 0, o = null, s = null, u = 0;
switch (r) {
case w.LINE_TO:
return this.getLineLength(e, t, i[0], i[1]);
case w.CURVE_TO:
for (n = 0, o = this.getPointOnCubicBezier(0, e, t, i[0], i[1], i[2], i[3], i[4], i[5]), u = 0.01; u <= 1; u += 0.01)
s = this.getPointOnCubicBezier(u, e, t, i[0], i[1], i[2], i[3], i[4], i[5]), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return n;
case w.QUAD_TO:
for (n = 0, o = this.getPointOnQuadraticBezier(0, e, t, i[0], i[1], i[2], i[3]), u = 0.01; u <= 1; u += 0.01)
s = this.getPointOnQuadraticBezier(u, e, t, i[0], i[1], i[2], i[3]), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return n;
case w.ARC: {
n = 0;
var l = i[4], h = i[5], f = i[4] + h, c = Math.PI / 180;
if (Math.abs(l - f) < c && (c = Math.abs(l - f)), o = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], l, 0), h < 0)
for (u = l - c; u > f; u -= c)
s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], u, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
else
for (u = l + c; u < f; u += c)
s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], u, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], f, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), n;
}
}
return 0;
}
getPointOnLine(e, t, r, i, n) {
var o = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : t, s = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : r, u = (n - r) / (i - t + rt), l = Math.sqrt(e * e / (1 + u * u));
i < t && (l *= -1);
var h = u * l, f = null;
if (i === t)
f = {
x: o,
y: s + h
};
else if ((s - r) / (o - t + rt) === u)
f = {
x: o + l,
y: s + h
};
else {
var c = 0, v = 0, g = this.getLineLength(t, r, i, n);
if (g < rt)
return null;
var d = (o - t) * (i - t) + (s - r) * (n - r);
d /= g * g, c = t + d * (i - t), v = r + d * (n - r);
var p = this.getLineLength(o, s, c, v), y = Math.sqrt(e * e - p * p);
l = Math.sqrt(y * y / (1 + u * u)), i < t && (l *= -1), h = u * l, f = {
x: c + l,
y: v + h
};
}
return f;
}
getPointOnPath(e) {
var t = this.getPathLength(), r = 0, i = null;
if (e < -5e-5 || e - 5e-5 > t)
return null;
var {
dataArray: n
} = this;
for (var o of n) {
if (o && (o.pathLength < 5e-5 || r + o.pathLength + 5e-5 < e)) {
r += o.pathLength;
continue;
}
var s = e - r, u = 0;
switch (o.type) {
case w.LINE_TO:
i = this.getPointOnLine(s, o.start.x, o.start.y, o.points[0], o.points[1], o.start.x, o.start.y);
break;
case w.ARC: {
var l = o.points[4], h = o.points[5], f = o.points[4] + h;
if (u = l + s / o.pathLength * h, h < 0 && u < f || h >= 0 && u > f)
break;
i = this.getPointOnEllipticalArc(o.points[0], o.points[1], o.points[2], o.points[3], u, o.points[6]);
break;
}
case w.CURVE_TO:
u = s / o.pathLength, u > 1 && (u = 1), i = this.getPointOnCubicBezier(u, o.start.x, o.start.y, o.points[0], o.points[1], o.points[2], o.points[3], o.points[4], o.points[5]);
break;
case w.QUAD_TO:
u = s / o.pathLength, u > 1 && (u = 1), i = this.getPointOnQuadraticBezier(u, o.start.x, o.start.y, o.points[0], o.points[1], o.points[2], o.points[3]);
break;
}
if (i)
return i;
break;
}
return null;
}
getLineLength(e, t, r, i) {
return Math.sqrt((r - e) * (r - e) + (i - t) * (i - t));
}
getPathLength() {
return this.pathLength === -1 && (this.pathLength = this.dataArray.reduce((e, t) => t.pathLength > 0 ? e + t.pathLength : e, 0)), this.pathLength;
}
getPointOnCubicBezier(e, t, r, i, n, o, s, u, l) {
var h = u * To(e) + o * Oo(e) + i * So(e) + t * Eo(e), f = l * To(e) + s * Oo(e) + n * So(e) + r * Eo(e);
return {
x: h,
y: f
};
}
getPointOnQuadraticBezier(e, t, r, i, n, o, s) {
var u = o * $o(e) + i * wo(e) + t * Co(e), l = s * $o(e) + n * wo(e) + r * Co(e);
return {
x: u,
y: l
};
}
getPointOnEllipticalArc(e, t, r, i, n, o) {
var s = Math.cos(o), u = Math.sin(o), l = {
x: r * Math.cos(n),
y: i * Math.sin(n)
};
return {
x: e + (l.x * s - l.y * u),
y: t + (l.x * u + l.y * s)
};
}
// TODO need some optimisations. possibly build cache only for curved segments?
buildEquidistantCache(e, t) {
var r = this.getPathLength(), i = t || 0.25, n = e || r / 100;
if (!this.equidistantCache || this.equidistantCache.step !== n || this.equidistantCache.precision !== i) {
this.equidistantCache = {
step: n,
precision: i,
points: []
};
for (var o = 0, s = 0; s <= r; s += i) {
var u = this.getPointOnPath(s), l = this.getPointOnPath(s + i);
!u || !l || (o += this.getLineLength(u.x, u.y, l.x, l.y), o >= n && (this.equidistantCache.points.push({
x: u.x,
y: u.y,
distance: s
}), o -= n));
}
}
}
getEquidistantPointOnPath(e, t, r) {
if (this.buildEquidistantCache(t, r), e < 0 || e - this.getPathLength() > 5e-5)
return null;
var i = Math.round(e / this.getPathLength() * (this.equidistantCache.points.length - 1));
return this.equidistantCache.points[i] || null;
}
}
var J1 = /^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;
class e2 extends Ge {
constructor(e, t, r) {
super(e, t, r), this.type = "image", this.loaded = !1;
var i = this.getHrefAttribute().getString();
if (i) {
var n = i.endsWith(".svg") || /^\s*data:image\/svg\+xml/i.test(i);
e.images.push(this), n ? this.loadSvg(i) : this.loadImage(i), this.isSvg = n;
}
}
loadImage(e) {
var t = this;
return xe(function* () {
try {
var r = yield t.document.createImage(e);
t.image = r;
} catch (i) {
console.error('Error while loading image "'.concat(e, '":'), i);
}
t.loaded = !0;
})();
}
loadSvg(e) {
var t = this;
return xe(function* () {
var r = J1.exec(e);
if (r) {
var i = r[5];
r[4] === "base64" ? t.image = atob(i) : t.image = decodeURIComponent(i);
} else
try {
var n = yield t.document.fetch(e), o = yield n.text();
t.image = o;
} catch (s) {
console.error('Error while loading image "'.concat(e, '":'), s);
}
t.loaded = !0;
})();
}
renderChildren(e) {
var {
document: t,
image: r,
loaded: i
} = this, n = this.getAttribute("x").getPixels("x"), o = this.getAttribute("y").getPixels("y"), s = this.getStyle("width").getPixels("x"), u = this.getStyle("height").getPixels("y");
if (!(!i || !r || !s || !u)) {
if (e.save(), e.translate(n, o), this.isSvg) {
var l = t.canvg.forkString(e, this.image, {
ignoreMouse: !0,
ignoreAnimation: !0,
ignoreDimensions: !0,
ignoreClear: !0,
offsetX: 0,
offsetY: 0,
scaleWidth: s,
scaleHeight: u
});
l.document.documentElement.parent = this, l.render();
} else {
var h = this.image;
t.setViewBox({
ctx: e,
aspectRatio: this.getAttribute("preserveAspectRatio").getString(),
width: s,
desiredWidth: h.width,
height: u,
desiredHeight: h.height
}), this.loaded && (typeof h.complete > "u" || h.complete) && e.drawImage(h, 0, 0);
}
e.restore();
}
}
getBoundingBox() {
var e = this.getAttribute("x").getPixels("x"), t = this.getAttribute("y").getPixels("y"), r = this.getStyle("width").getPixels("x"), i = this.getStyle("height").getPixels("y");
return new ce(e, t, e + r, t + i);
}
}
class t2 extends Ge {
constructor() {
super(...arguments), this.type = "symbol";
}
render(e) {
}
}
class r2 {
constructor(e) {
this.document = e, this.loaded = !1, e.fonts.push(this);
}
load(e, t) {
var r = this;
return xe(function* () {
try {
var {
document: i
} = r, n = yield i.canvg.parser.load(t), o = n.getElementsByTagName("font");
Array.from(o).forEach((s) => {
var u = i.createElement(s);
i.definitions[e] = u;
});
} catch (s) {
console.error('Error while loading font "'.concat(t, '":'), s);
}
r.loaded = !0;
})();
}
}
class Sl extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "style";
var i = lt(
Array.from(t.childNodes).map((o) => o.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, "").replace(/@import.*;/g, "")
// remove imports
), n = i.split("}");
n.forEach((o) => {
var s = o.trim();
if (s) {
var u = s.split("{"), l = u[0].split(","), h = u[1].split(";");
l.forEach((f) => {
var c = f.trim();
if (c) {
var v = e.styles[c] || {};
if (h.forEach((p) => {
var y = p.indexOf(":"), x = p.substr(0, y).trim(), b = p.substr(y + 1, p.length - y).trim();
x && b && (v[x] = new S(e, x, b));
}), e.styles[c] = v, e.stylesSpecificity[c] = y1(c), c === "@font-face") {
var g = v["font-family"].getString().replace(/"|'/g, ""), d = v.src.getString().split(",");
d.forEach((p) => {
if (p.indexOf('format("svg")') > 0) {
var y = gl(p);
y && new r2(e).load(g, y);
}
});
}
}
});
}
});
}
}
Sl.parseExternalUrl = gl;
class a2 extends Ge {
constructor() {
super(...arguments), this.type = "use";
}
setContext(e) {
super.setContext(e);
var t = this.getAttribute("x"), r = this.getAttribute("y");
t.hasValue() && e.translate(t.getPixels("x"), 0), r.hasValue() && e.translate(0, r.getPixels("y"));
}
path(e) {
var {
element: t
} = this;
t && t.path(e);
}
renderChildren(e) {
var {
document: t,
element: r
} = this;
if (r) {
var i = r;
if (r.type === "symbol" && (i = new Nt(t, null), i.attributes.viewBox = new S(t, "viewBox", r.getAttribute("viewBox").getString()), i.attributes.preserveAspectRatio = new S(t, "preserveAspectRatio", r.getAttribute("preserveAspectRatio").getString()), i.attributes.overflow = new S(t, "overflow", r.getAttribute("overflow").getString()), i.children = r.children, r.styles.opacity = new S(t, "opacity", this.calculateOpacity())), i.type === "svg") {
var n = this.getStyle("width", !1, !0), o = this.getStyle("height", !1, !0);
n.hasValue() && (i.attributes.width = new S(t, "width", n.getString())), o.hasValue() && (i.attributes.height = new S(t, "height", o.getString()));
}
var s = i.parent;
i.parent = this, i.render(e), i.parent = s;
}
}
getBoundingBox(e) {
var {
element: t
} = this;
return t ? t.getBoundingBox(e) : null;
}
elementTransform() {
var {
document: e,
element: t
} = this;
return Be.fromElement(e, t);
}
get element() {
return this.cachedElement || (this.cachedElement = this.getHrefAttribute().getDefinition()), this.cachedElement;
}
}
function nr(a, e, t, r, i, n) {
return a[t * r * 4 + e * 4 + n];
}
function sr(a, e, t, r, i, n, o) {
a[t * r * 4 + e * 4 + n] = o;
}
function F(a, e, t) {
var r = a[e];
return r * t;
}
function me(a, e, t, r) {
return e + Math.cos(a) * t + Math.sin(a) * r;
}
class El extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feColorMatrix";
var i = ne(this.getAttribute("values").getString());
switch (this.getAttribute("type").getString("matrix")) {
case "saturate": {
var n = i[0];
i = [0.213 + 0.787 * n, 0.715 - 0.715 * n, 0.072 - 0.072 * n, 0, 0, 0.213 - 0.213 * n, 0.715 + 0.285 * n, 0.072 - 0.072 * n, 0, 0, 0.213 - 0.213 * n, 0.715 - 0.715 * n, 0.072 + 0.928 * n, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
break;
}
case "hueRotate": {
var o = i[0] * Math.PI / 180;
i = [me(o, 0.213, 0.787, -0.213), me(o, 0.715, -0.715, -0.715), me(o, 0.072, -0.072, 0.928), 0, 0, me(o, 0.213, -0.213, 0.143), me(o, 0.715, 0.285, 0.14), me(o, 0.072, -0.072, -0.283), 0, 0, me(o, 0.213, -0.213, -0.787), me(o, 0.715, -0.715, 0.715), me(o, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
break;
}
case "luminanceToAlpha":
i = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1];
break;
}
this.matrix = i, this.includeOpacity = this.getAttribute("includeOpacity").hasValue();
}
apply(e, t, r, i, n) {
for (var {
includeOpacity: o,
matrix: s
} = this, u = e.getImageData(0, 0, i, n), l = 0; l < n; l++)
for (var h = 0; h < i; h++) {
var f = nr(u.data, h, l, i, n, 0), c = nr(u.data, h, l, i, n, 1), v = nr(u.data, h, l, i, n, 2), g = nr(u.data, h, l, i, n, 3), d = F(s, 0, f) + F(s, 1, c) + F(s, 2, v) + F(s, 3, g) + F(s, 4, 1), p = F(s, 5, f) + F(s, 6, c) + F(s, 7, v) + F(s, 8, g) + F(s, 9, 1), y = F(s, 10, f) + F(s, 11, c) + F(s, 12, v) + F(s, 13, g) + F(s, 14, 1), x = F(s, 15, f) + F(s, 16, c) + F(s, 17, v) + F(s, 18, g) + F(s, 19, 1);
o && (d = 0, p = 0, y = 0, x *= g / 255), sr(u.data, h, l, i, n, 0, d), sr(u.data, h, l, i, n, 1, p), sr(u.data, h, l, i, n, 2, y), sr(u.data, h, l, i, n, 3, x);
}
e.clearRect(0, 0, i, n), e.putImageData(u, 0, 0);
}
}
class kr extends I {
constructor() {
super(...arguments), this.type = "mask";
}
apply(e, t) {
var {
document: r
} = this, i = this.getAttribute("x").getPixels("x"), n = this.getAttribute("y").getPixels("y"), o = this.getStyle("width").getPixels("x"), s = this.getStyle("height").getPixels("y");
if (!o && !s) {
var u = new ce();
this.children.forEach((g) => {
u.addBoundingBox(g.getBoundingBox(e));
}), i = Math.floor(u.x1), n = Math.floor(u.y1), o = Math.floor(u.width), s = Math.floor(u.height);
}
var l = this.removeStyles(t, kr.ignoreStyles), h = r.createCanvas(i + o, n + s), f = h.getContext("2d");
r.screen.setDefaults(f), this.renderChildren(f), new El(r, {
nodeType: 1,
childNodes: [],
attributes: [{
nodeName: "type",
value: "luminanceToAlpha"
}, {
nodeName: "includeOpacity",
value: "true"
}]
}).apply(f, 0, 0, i + o, n + s);
var c = r.createCanvas(i + o, n + s), v = c.getContext("2d");
r.screen.setDefaults(v), t.render(v), v.globalCompositeOperation = "destination-in", v.fillStyle = f.createPattern(h, "no-repeat"), v.fillRect(0, 0, i + o, n + s), e.fillStyle = v.createPattern(c, "no-repeat"), e.fillRect(0, 0, i + o, n + s), this.restoreStyles(t, l);
}
render(e) {
}
}
kr.ignoreStyles = ["mask", "transform", "clip-path"];
var Po = () => {
};
class i2 extends I {
constructor() {
super(...arguments), this.type = "clipPath";
}
apply(e) {
var {
document: t
} = this, r = Reflect.getPrototypeOf(e), {
beginPath: i,
closePath: n
} = e;
r && (r.beginPath = Po, r.closePath = Po), Reflect.apply(i, e, []), this.children.forEach((o) => {
if (!(typeof o.path > "u")) {
var s = typeof o.elementTransform < "u" ? o.elementTransform() : null;
s || (s = Be.fromElement(t, o)), s && s.apply(e), o.path(e), r && (r.closePath = n), s && s.unapply(e);
}
}), Reflect.apply(n, e, []), e.clip(), r && (r.beginPath = i, r.closePath = n);
}
render(e) {
}
}
class Br extends I {
constructor() {
super(...arguments), this.type = "filter";
}
apply(e, t) {
var {
document: r,
children: i
} = this, n = t.getBoundingBox(e);
if (n) {
var o = 0, s = 0;
i.forEach((y) => {
var x = y.extraFilterDistance || 0;
o = Math.max(o, x), s = Math.max(s, x);
});
var u = Math.floor(n.width), l = Math.floor(n.height), h = u + 2 * o, f = l + 2 * s;
if (!(h < 1 || f < 1)) {
var c = Math.floor(n.x), v = Math.floor(n.y), g = this.removeStyles(t, Br.ignoreStyles), d = r.createCanvas(h, f), p = d.getContext("2d");
r.screen.setDefaults(p), p.translate(-c + o, -v + s), t.render(p), i.forEach((y) => {
typeof y.apply == "function" && y.apply(p, 0, 0, h, f);
}), e.drawImage(d, 0, 0, h, f, c - o, v - s, h, f), this.restoreStyles(t, g);
}
}
}
render(e) {
}
}
Br.ignoreStyles = ["filter", "transform", "clip-path"];
class n2 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feDropShadow", this.addStylesFromStyleDefinition();
}
apply(e, t, r, i, n) {
}
}
class s2 extends I {
constructor() {
super(...arguments), this.type = "feMorphology";
}
apply(e, t, r, i, n) {
}
}
class o2 extends I {
constructor() {
super(...arguments), this.type = "feComposite";
}
apply(e, t, r, i, n) {
}
}
class u2 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feGaussianBlur", this.blurRadius = Math.floor(this.getAttribute("stdDeviation").getNumber()), this.extraFilterDistance = this.blurRadius;
}
apply(e, t, r, i, n) {
var {
document: o,
blurRadius: s
} = this, u = o.window ? o.window.document.body : null, l = e.canvas;
l.id = o.getUniqueId(), u && (l.style.display = "none", u.appendChild(l)), t1(l, t, r, i, n, s), u && u.removeChild(l);
}
}
class l2 extends I {
constructor() {
super(...arguments), this.type = "title";
}
}
class h2 extends I {
constructor() {
super(...arguments), this.type = "desc";
}
}
var v2 = {
svg: Nt,
rect: xl,
circle: V1,
ellipse: D1,
line: L1,
polyline: Tl,
polygon: k1,
path: A,
pattern: B1,
marker: j1,
defs: F1,
linearGradient: U1,
radialGradient: G1,
stop: z1,
animate: an,
animateColor: H1,
animateTransform: Y1,
font: X1,
"font-face": W1,
"missing-glyph": q1,
glyph: bl,
text: Ce,
tspan: Lr,
tref: Q1,
a: K1,
textPath: Z1,
image: e2,
g: rn,
symbol: t2,
style: Sl,
use: a2,
mask: kr,
clipPath: i2,
filter: Br,
feDropShadow: n2,
feMorphology: s2,
feComposite: o2,
feColorMatrix: El,
feGaussianBlur: u2,
title: l2,
desc: h2
};
function Ro(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function f2(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? Ro(Object(t), !0).forEach(function(r) {
en(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : Ro(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
function c2(a, e) {
var t = document.createElement("canvas");
return t.width = a, t.height = e, t;
}
function g2(a) {
return bi.apply(this, arguments);
}
function bi() {
return bi = xe(function* (a) {
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, t = document.createElement("img");
return e && (t.crossOrigin = "Anonymous"), new Promise((r, i) => {
t.onload = () => {
r(t);
}, t.onerror = (n, o, s, u, l) => {
i(l);
}, t.src = a;
});
}), bi.apply(this, arguments);
}
class $e {
constructor(e) {
var {
rootEmSize: t = 12,
emSize: r = 12,
createCanvas: i = $e.createCanvas,
createImage: n = $e.createImage,
anonymousCrossOrigin: o
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
this.canvg = e, this.definitions = /* @__PURE__ */ Object.create(null), this.styles = /* @__PURE__ */ Object.create(null), this.stylesSpecificity = /* @__PURE__ */ Object.create(null), this.images = [], this.fonts = [], this.emSizeStack = [], this.uniqueId = 0, this.screen = e.screen, this.rootEmSize = t, this.emSize = r, this.createCanvas = i, this.createImage = this.bindCreateImage(n, o), this.screen.wait(this.isImagesLoaded.bind(this)), this.screen.wait(this.isFontsLoaded.bind(this));
}
bindCreateImage(e, t) {
return typeof t == "boolean" ? (r, i) => e(r, typeof i == "boolean" ? i : t) : e;
}
get window() {
return this.screen.window;
}
get fetch() {
return this.screen.fetch;
}
get ctx() {
return this.screen.ctx;
}
get emSize() {
var {
emSizeStack: e
} = this;
return e[e.length - 1];
}
set emSize(e) {
var {
emSizeStack: t
} = this;
t.push(e);
}
popEmSize() {
var {
emSizeStack: e
} = this;
e.pop();
}
getUniqueId() {
return "canvg".concat(++this.uniqueId);
}
isImagesLoaded() {
return this.images.every((e) => e.loaded);
}
isFontsLoaded() {
return this.fonts.every((e) => e.loaded);
}
createDocumentElement(e) {
var t = this.createElement(e.documentElement);
return t.root = !0, t.addStylesFromStyleDefinition(), this.documentElement = t, t;
}
createElement(e) {
var t = e.nodeName.replace(/^[^:]+:/, ""), r = $e.elementTypes[t];
return typeof r < "u" ? new r(this, e) : new P1(this, e);
}
createTextNode(e) {
return new _1(this, e);
}
setViewBox(e) {
this.screen.setViewBox(f2({
document: this
}, e));
}
}
$e.createCanvas = c2;
$e.createImage = g2;
$e.elementTypes = v2;
function No(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function De(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? No(Object(t), !0).forEach(function(r) {
en(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : No(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
class mt {
/**
* Main constructor.
* @param ctx - Rendering context.
* @param svg - SVG Document.
* @param options - Rendering options.
*/
constructor(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
this.parser = new Ga(r), this.screen = new Dr(e, r), this.options = r;
var i = new $e(this, r), n = i.createDocumentElement(t);
this.document = i, this.documentElement = n;
}
/**
* Create Canvg instance from SVG source string or URL.
* @param ctx - Rendering context.
* @param svg - SVG source string or URL.
* @param options - Rendering options.
* @returns Canvg instance.
*/
static from(e, t) {
var r = arguments;
return xe(function* () {
var i = r.length > 2 && r[2] !== void 0 ? r[2] : {}, n = new Ga(i), o = yield n.parse(t);
return new mt(e, o, i);
})();
}
/**
* Create Canvg instance from SVG source string.
* @param ctx - Rendering context.
* @param svg - SVG source string.
* @param options - Rendering options.
* @returns Canvg instance.
*/
static fromString(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, i = new Ga(r), n = i.parseFromString(t);
return new mt(e, n, r);
}
/**
* Create new Canvg instance with inherited options.
* @param ctx - Rendering context.
* @param svg - SVG source string or URL.
* @param options - Rendering options.
* @returns Canvg instance.
*/
fork(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
return mt.from(e, t, De(De({}, this.options), r));
}
/**
* Create new Canvg instance with inherited options.
* @param ctx - Rendering context.
* @param svg - SVG source string.
* @param options - Rendering options.
* @returns Canvg instance.
*/
forkString(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
return mt.fromString(e, t, De(De({}, this.options), r));
}
/**
* Document is ready promise.
* @returns Ready promise.
*/
ready() {
return this.screen.ready();
}
/**
* Document is ready value.
* @returns Is ready or not.
*/
isReady() {
return this.screen.isReady();
}
/**
* Render only first frame, ignoring animations and mouse.
* @param options - Rendering options.
*/
render() {
var e = arguments, t = this;
return xe(function* () {
var r = e.length > 0 && e[0] !== void 0 ? e[0] : {};
t.start(De({
enableRedraw: !0,
ignoreAnimation: !0,
ignoreMouse: !0
}, r)), yield t.ready(), t.stop();
})();
}
/**
* Start rendering.
* @param options - Render options.
*/
start() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
documentElement: t,
screen: r,
options: i
} = this;
r.start(t, De(De({
enableRedraw: !0
}, i), e));
}
/**
* Stop rendering.
*/
stop() {
this.screen.stop();
}
/**
* Resize SVG to fit in given size.
* @param width
* @param height
* @param preserveAspectRatio
*/
resize(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
this.documentElement.resize(e, t, r);
}
}
export {
K1 as AElement,
H1 as AnimateColorElement,
an as AnimateElement,
Y1 as AnimateTransformElement,
ce as BoundingBox,
To as CB1,
Oo as CB2,
So as CB3,
Eo as CB4,
mt as Canvg,
V1 as CircleElement,
i2 as ClipPathElement,
F1 as DefsElement,
h2 as DescElement,
$e as Document,
I as Element,
D1 as EllipseElement,
El as FeColorMatrixElement,
o2 as FeCompositeElement,
n2 as FeDropShadowElement,
u2 as FeGaussianBlurElement,
s2 as FeMorphologyElement,
Br as FilterElement,
Z as Font,
X1 as FontElement,
W1 as FontFaceElement,
rn as GElement,
bl as GlyphElement,
Ol as GradientElement,
e2 as ImageElement,
L1 as LineElement,
U1 as LinearGradientElement,
j1 as MarkerElement,
kr as MaskElement,
yl as Matrix,
q1 as MissingGlyphElement,
b1 as Mouse,
rt as PSEUDO_ZERO,
Ga as Parser,
A as PathElement,
w as PathParser,
B1 as PatternElement,
k as Point,
k1 as PolygonElement,
Tl as PolylineElement,
S as Property,
$o as QB1,
wo as QB2,
Co as QB3,
G1 as RadialGradientElement,
xl as RectElement,
Ge as RenderedElement,
S1 as Rotate,
Nt as SVGElement,
r2 as SVGFontLoader,
E1 as Scale,
Dr as Screen,
ml as Skew,
$1 as SkewX,
w1 as SkewY,
z1 as StopElement,
Sl as StyleElement,
t2 as SymbolElement,
Q1 as TRefElement,
Lr as TSpanElement,
Ce as TextElement,
Z1 as TextPathElement,
l2 as TitleElement,
Be as Transform,
O1 as Translate,
P1 as UnknownElement,
a2 as UseElement,
m1 as ViewPort,
lt as compressSpaces,
mt as default,
y1 as getSelectorSpecificity,
u1 as normalizeAttributeName,
l1 as normalizeColor,
gl as parseExternalUrl,
p2 as presets,
ne as toNumbers,
n1 as trimLeft,
s1 as trimRight,
bo as vectorMagnitude,
xo as vectorsAngle,
mi as vectorsRatio
};