UNPKG

ranui

Version:

A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.

2,086 lines (2,085 loc) 614 kB
function Do(t, e) { (e == null || e > t.length) && (e = t.length); for (var r = 0, a = Array(e); r < e; r++) a[r] = t[r]; return a; } function Qf(t) { if (Array.isArray(t)) return t; } function Jf(t) { if (Array.isArray(t)) return Do(t); } function lr(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); } function jf(t, e) { for (var r = 0; r < e.length; r++) { var a = e[r]; a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), Object.defineProperty(t, Zl(a.key), a); } } function vr(t, e, r) { return e && jf(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t; } function Ct(t, e) { var r = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"]; if (!r) { if (Array.isArray(t) || (r = Uo(t)) || e) { r && (t = r); var a = 0, n = function() { }; return { s: n, n: function() { return a >= t.length ? { done: !0 } : { done: !1, value: t[a++] }; }, e: function(u) { throw u; }, f: n }; } throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var i, o = !0, s = !1; return { s: function() { r = r.call(t); }, n: function() { var u = r.next(); return o = u.done, u; }, e: function(u) { s = !0, i = u; }, f: function() { try { o || r.return == null || r.return(); } finally { if (s) throw i; } } }; } function Xl(t, e, r) { return (e = Zl(e)) in t ? Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = r, t; } function ec(t) { if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t); } function tc(t, e) { var r = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"]; if (r != null) { var a, n, i, o, s = [], u = !0, l = !1; try { if (i = (r = r.call(t)).next, e === 0) { if (Object(r) !== r) return; u = !1; } else for (; !(u = (a = i.call(r)).done) && (s.push(a.value), s.length !== e); u = !0) ; } catch (v) { l = !0, n = v; } finally { try { if (!u && r.return != null && (o = r.return(), Object(o) !== o)) return; } finally { if (l) throw n; } } return s; } } function rc() { throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function ac() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function Xe(t, e) { return Qf(t) || tc(t, e) || Uo(t, e) || rc(); } function dn(t) { return Jf(t) || ec(t) || Uo(t) || ac(); } function nc(t, e) { if (typeof t != "object" || !t) return t; var r = t[Symbol.toPrimitive]; if (r !== void 0) { var a = r.call(t, e); if (typeof a != "object") return a; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(t); } function Zl(t) { var e = nc(t, "string"); return typeof e == "symbol" ? e : e + ""; } function je(t) { "@babel/helpers - typeof"; return je = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, je(t); } function Uo(t, e) { if (t) { if (typeof t == "string") return Do(t, e); var r = {}.toString.call(t).slice(8, -1); return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Do(t, e) : void 0; } } var Qe = typeof window > "u" ? null : window, xs = Qe ? Qe.navigator : null; Qe && Qe.document; var ic = je(""), Ql = je({}), oc = je(function() { }), sc = typeof HTMLElement > "u" ? "undefined" : je(HTMLElement), Ba = function(e) { return e && e.instanceString && We(e.instanceString) ? e.instanceString() : null; }, he = function(e) { return e != null && je(e) == ic; }, We = function(e) { return e != null && je(e) === oc; }, ze = function(e) { return !Tt(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array); }, Re = function(e) { return e != null && je(e) === Ql && !ze(e) && e.constructor === Object; }, uc = function(e) { return e != null && je(e) === Ql; }, re = function(e) { return e != null && je(e) === je(1) && !isNaN(e); }, lc = function(e) { return re(e) && Math.floor(e) === e; }, gn = function(e) { if (sc !== "undefined") return e != null && e instanceof HTMLElement; }, Tt = function(e) { return Pa(e) || Jl(e); }, Pa = function(e) { return Ba(e) === "collection" && e._private.single; }, Jl = function(e) { return Ba(e) === "collection" && !e._private.single; }, Ko = function(e) { return Ba(e) === "core"; }, jl = function(e) { return Ba(e) === "stylesheet"; }, vc = function(e) { return Ba(e) === "event"; }, ar = function(e) { return e == null ? !0 : !!(e === "" || e.match(/^\s+$/)); }, fc = function(e) { return typeof HTMLElement > "u" ? !1 : e instanceof HTMLElement; }, cc = function(e) { return Re(e) && re(e.x1) && re(e.x2) && re(e.y1) && re(e.y2); }, hc = function(e) { return uc(e) && We(e.then); }, dc = function() { return xs && xs.userAgent.match(/msie|trident|edge/i); }, Ur = function(e, r) { r || (r = function() { if (arguments.length === 1) return arguments[0]; if (arguments.length === 0) return "undefined"; for (var i = [], o = 0; o < arguments.length; o++) i.push(arguments[o]); return i.join("$"); }); var a = function() { var i = this, o = arguments, s, u = r.apply(i, o), l = a.cache; return (s = l[u]) || (s = l[u] = e.apply(i, o)), s; }; return a.cache = {}, a; }, Yo = Ur(function(t) { return t.replace(/([A-Z])/g, function(e) { return "-" + e.toLowerCase(); }); }), An = Ur(function(t) { return t.replace(/(-\w)/g, function(e) { return e[1].toUpperCase(); }); }), ev = Ur(function(t, e) { return t + e[0].toUpperCase() + e.substring(1); }, function(t, e) { return t + "$" + e; }), Es = function(e) { return ar(e) ? e : e.charAt(0).toUpperCase() + e.substring(1); }, Jt = function(e, r) { return e.slice(-1 * r.length) === r; }, Je = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))", gc = "rgb[a]?\\((" + Je + "[%]?)\\s*,\\s*(" + Je + "[%]?)\\s*,\\s*(" + Je + "[%]?)(?:\\s*,\\s*(" + Je + "))?\\)", pc = "rgb[a]?\\((?:" + Je + "[%]?)\\s*,\\s*(?:" + Je + "[%]?)\\s*,\\s*(?:" + Je + "[%]?)(?:\\s*,\\s*(?:" + Je + "))?\\)", yc = "hsl[a]?\\((" + Je + ")\\s*,\\s*(" + Je + "[%])\\s*,\\s*(" + Je + "[%])(?:\\s*,\\s*(" + Je + "))?\\)", mc = "hsl[a]?\\((?:" + Je + ")\\s*,\\s*(?:" + Je + "[%])\\s*,\\s*(?:" + Je + "[%])(?:\\s*,\\s*(?:" + Je + "))?\\)", bc = "\\#[0-9a-fA-F]{3}", wc = "\\#[0-9a-fA-F]{6}", tv = function(e, r) { return e < r ? -1 : e > r ? 1 : 0; }, xc = function(e, r) { return -1 * tv(e, r); }, ge = Object.assign != null ? Object.assign.bind(Object) : function(t) { for (var e = arguments, r = 1; r < e.length; r++) { var a = e[r]; if (a != null) for (var n = Object.keys(a), i = 0; i < n.length; i++) { var o = n[i]; t[o] = a[o]; } } return t; }, Ec = function(e) { if (!(!(e.length === 4 || e.length === 7) || e[0] !== "#")) { var r = e.length === 4, a, n, i, o = 16; return r ? (a = parseInt(e[1] + e[1], o), n = parseInt(e[2] + e[2], o), i = parseInt(e[3] + e[3], o)) : (a = parseInt(e[1] + e[2], o), n = parseInt(e[3] + e[4], o), i = parseInt(e[5] + e[6], o)), [ a, n, i ]; } }, Cc = function(e) { var r, a, n, i, o, s, u, l; function v(h, g, p) { return p < 0 && (p += 1), p > 1 && (p -= 1), p < 1 / 6 ? h + (g - h) * 6 * p : p < 1 / 2 ? g : p < 2 / 3 ? h + (g - h) * (2 / 3 - p) * 6 : h; } var f = new RegExp("^" + yc + "$").exec(e); if (f) { if (a = parseInt(f[1]), a < 0 ? a = (360 - -1 * a % 360) % 360 : a > 360 && (a = a % 360), a /= 360, n = parseFloat(f[2]), n < 0 || n > 100 || (n = n / 100, i = parseFloat(f[3]), i < 0 || i > 100) || (i = i / 100, o = f[4], o !== void 0 && (o = parseFloat(o), o < 0 || o > 1))) return; if (n === 0) s = u = l = Math.round(i * 255); else { var c = i < 0.5 ? i * (1 + n) : i + n - i * n, d = 2 * i - c; s = Math.round(255 * v(d, c, a + 1 / 3)), u = Math.round(255 * v(d, c, a)), l = Math.round(255 * v(d, c, a - 1 / 3)); } r = [ s, u, l, o ]; } return r; }, Tc = function(e) { var r, a = new RegExp("^" + gc + "$").exec(e); if (a) { r = []; for (var n = [], i = 1; i <= 3; i++) { var o = a[i]; if (o[o.length - 1] === "%" && (n[i] = !0), o = parseFloat(o), n[i] && (o = o / 100 * 255), o < 0 || o > 255) return; r.push(Math.floor(o)); } var s = n[1] || n[2] || n[3], u = n[1] && n[2] && n[3]; if (s && !u) return; var l = a[4]; if (l !== void 0) { if (l = parseFloat(l), l < 0 || l > 1) return; r.push(l); } } return r; }, Sc = function(e) { return Dc[e.toLowerCase()]; }, rv = function(e) { return (ze(e) ? e : null) || Sc(e) || Ec(e) || Tc(e) || Cc(e); }, Dc = { transparent: [ 0, 0, 0, 0 ], aliceblue: [ 240, 248, 255 ], antiquewhite: [ 250, 235, 215 ], aqua: [ 0, 255, 255 ], aquamarine: [ 127, 255, 212 ], azure: [ 240, 255, 255 ], beige: [ 245, 245, 220 ], bisque: [ 255, 228, 196 ], black: [ 0, 0, 0 ], blanchedalmond: [ 255, 235, 205 ], blue: [ 0, 0, 255 ], blueviolet: [ 138, 43, 226 ], brown: [ 165, 42, 42 ], burlywood: [ 222, 184, 135 ], cadetblue: [ 95, 158, 160 ], chartreuse: [ 127, 255, 0 ], chocolate: [ 210, 105, 30 ], coral: [ 255, 127, 80 ], cornflowerblue: [ 100, 149, 237 ], cornsilk: [ 255, 248, 220 ], crimson: [ 220, 20, 60 ], cyan: [ 0, 255, 255 ], darkblue: [ 0, 0, 139 ], darkcyan: [ 0, 139, 139 ], darkgoldenrod: [ 184, 134, 11 ], darkgray: [ 169, 169, 169 ], darkgreen: [ 0, 100, 0 ], darkgrey: [ 169, 169, 169 ], darkkhaki: [ 189, 183, 107 ], darkmagenta: [ 139, 0, 139 ], darkolivegreen: [ 85, 107, 47 ], darkorange: [ 255, 140, 0 ], darkorchid: [ 153, 50, 204 ], darkred: [ 139, 0, 0 ], darksalmon: [ 233, 150, 122 ], darkseagreen: [ 143, 188, 143 ], darkslateblue: [ 72, 61, 139 ], darkslategray: [ 47, 79, 79 ], darkslategrey: [ 47, 79, 79 ], darkturquoise: [ 0, 206, 209 ], darkviolet: [ 148, 0, 211 ], deeppink: [ 255, 20, 147 ], deepskyblue: [ 0, 191, 255 ], dimgray: [ 105, 105, 105 ], dimgrey: [ 105, 105, 105 ], dodgerblue: [ 30, 144, 255 ], firebrick: [ 178, 34, 34 ], floralwhite: [ 255, 250, 240 ], forestgreen: [ 34, 139, 34 ], fuchsia: [ 255, 0, 255 ], gainsboro: [ 220, 220, 220 ], ghostwhite: [ 248, 248, 255 ], gold: [ 255, 215, 0 ], goldenrod: [ 218, 165, 32 ], gray: [ 128, 128, 128 ], grey: [ 128, 128, 128 ], green: [ 0, 128, 0 ], greenyellow: [ 173, 255, 47 ], honeydew: [ 240, 255, 240 ], hotpink: [ 255, 105, 180 ], indianred: [ 205, 92, 92 ], indigo: [ 75, 0, 130 ], ivory: [ 255, 255, 240 ], khaki: [ 240, 230, 140 ], lavender: [ 230, 230, 250 ], lavenderblush: [ 255, 240, 245 ], lawngreen: [ 124, 252, 0 ], lemonchiffon: [ 255, 250, 205 ], lightblue: [ 173, 216, 230 ], lightcoral: [ 240, 128, 128 ], lightcyan: [ 224, 255, 255 ], lightgoldenrodyellow: [ 250, 250, 210 ], lightgray: [ 211, 211, 211 ], lightgreen: [ 144, 238, 144 ], lightgrey: [ 211, 211, 211 ], lightpink: [ 255, 182, 193 ], lightsalmon: [ 255, 160, 122 ], lightseagreen: [ 32, 178, 170 ], lightskyblue: [ 135, 206, 250 ], lightslategray: [ 119, 136, 153 ], lightslategrey: [ 119, 136, 153 ], lightsteelblue: [ 176, 196, 222 ], lightyellow: [ 255, 255, 224 ], lime: [ 0, 255, 0 ], limegreen: [ 50, 205, 50 ], linen: [ 250, 240, 230 ], magenta: [ 255, 0, 255 ], maroon: [ 128, 0, 0 ], mediumaquamarine: [ 102, 205, 170 ], mediumblue: [ 0, 0, 205 ], mediumorchid: [ 186, 85, 211 ], mediumpurple: [ 147, 112, 219 ], mediumseagreen: [ 60, 179, 113 ], mediumslateblue: [ 123, 104, 238 ], mediumspringgreen: [ 0, 250, 154 ], mediumturquoise: [ 72, 209, 204 ], mediumvioletred: [ 199, 21, 133 ], midnightblue: [ 25, 25, 112 ], mintcream: [ 245, 255, 250 ], mistyrose: [ 255, 228, 225 ], moccasin: [ 255, 228, 181 ], navajowhite: [ 255, 222, 173 ], navy: [ 0, 0, 128 ], oldlace: [ 253, 245, 230 ], olive: [ 128, 128, 0 ], olivedrab: [ 107, 142, 35 ], orange: [ 255, 165, 0 ], orangered: [ 255, 69, 0 ], orchid: [ 218, 112, 214 ], palegoldenrod: [ 238, 232, 170 ], palegreen: [ 152, 251, 152 ], paleturquoise: [ 175, 238, 238 ], palevioletred: [ 219, 112, 147 ], papayawhip: [ 255, 239, 213 ], peachpuff: [ 255, 218, 185 ], peru: [ 205, 133, 63 ], pink: [ 255, 192, 203 ], plum: [ 221, 160, 221 ], powderblue: [ 176, 224, 230 ], purple: [ 128, 0, 128 ], red: [ 255, 0, 0 ], rosybrown: [ 188, 143, 143 ], royalblue: [ 65, 105, 225 ], saddlebrown: [ 139, 69, 19 ], salmon: [ 250, 128, 114 ], sandybrown: [ 244, 164, 96 ], seagreen: [ 46, 139, 87 ], seashell: [ 255, 245, 238 ], sienna: [ 160, 82, 45 ], silver: [ 192, 192, 192 ], skyblue: [ 135, 206, 235 ], slateblue: [ 106, 90, 205 ], slategray: [ 112, 128, 144 ], slategrey: [ 112, 128, 144 ], snow: [ 255, 250, 250 ], springgreen: [ 0, 255, 127 ], steelblue: [ 70, 130, 180 ], tan: [ 210, 180, 140 ], teal: [ 0, 128, 128 ], thistle: [ 216, 191, 216 ], tomato: [ 255, 99, 71 ], turquoise: [ 64, 224, 208 ], violet: [ 238, 130, 238 ], wheat: [ 245, 222, 179 ], white: [ 255, 255, 255 ], whitesmoke: [ 245, 245, 245 ], yellow: [ 255, 255, 0 ], yellowgreen: [ 154, 205, 50 ] }, av = function(e) { for (var r = e.map, a = e.keys, n = a.length, i = 0; i < n; i++) { var o = a[i]; if (Re(o)) throw Error("Tried to set map with object key"); i < a.length - 1 ? (r[o] == null && (r[o] = {}), r = r[o]) : r[o] = e.value; } }, nv = function(e) { for (var r = e.map, a = e.keys, n = a.length, i = 0; i < n; i++) { var o = a[i]; if (Re(o)) throw Error("Tried to get map with object key"); if (r = r[o], r == null) return r; } return r; }, Ga = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Aa(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } var Xn, Cs; function Ra() { if (Cs) return Xn; Cs = 1; function t(e) { var r = typeof e; return e != null && (r == "object" || r == "function"); } return Xn = t, Xn; } var Zn, Ts; function kc() { return Ts || (Ts = 1, Zn = typeof Ga == "object" && Ga && Ga.Object === Object && Ga), Zn; } var Qn, Ss; function Rn() { if (Ss) return Qn; Ss = 1; var t = kc(), e = typeof self == "object" && self && self.Object === Object && self; return Qn = t || e || Function("return this")(), Qn; } var Jn, Ds; function Bc() { if (Ds) return Jn; Ds = 1; var t = Rn(), e = function() { return t.Date.now(); }; return Jn = e, Jn; } var jn, ks; function Pc() { if (ks) return jn; ks = 1; var t = /\s/; function e(r) { for (var a = r.length; a-- && t.test(r.charAt(a)); ) ; return a; } return jn = e, jn; } var ei, Bs; function Ac() { if (Bs) return ei; Bs = 1; var t = Pc(), e = /^\s+/; function r(a) { return a && a.slice(0, t(a) + 1).replace(e, ""); } return ei = r, ei; } var ti, Ps; function Xo() { return Ps || (Ps = 1, ti = Rn().Symbol), ti; } var ri, As; function Rc() { if (As) return ri; As = 1; var t = Xo(), e = Object.prototype, r = e.hasOwnProperty, a = e.toString, n = t ? t.toStringTag : void 0; function i(o) { var s = r.call(o, n), u = o[n]; try { o[n] = void 0; var l = !0; } catch { } var v = a.call(o); return l && (s ? o[n] = u : delete o[n]), v; } return ri = i, ri; } var ai, Rs; function Mc() { if (Rs) return ai; Rs = 1; var t = Object.prototype.toString; function e(r) { return t.call(r); } return ai = e, ai; } var ni, Ms; function iv() { if (Ms) return ni; Ms = 1; var t = Xo(), e = Rc(), r = Mc(), a = "[object Null]", n = "[object Undefined]", i = t ? t.toStringTag : void 0; function o(s) { return s == null ? s === void 0 ? n : a : i && i in Object(s) ? e(s) : r(s); } return ni = o, ni; } var ii, Ls; function Lc() { if (Ls) return ii; Ls = 1; function t(e) { return e != null && typeof e == "object"; } return ii = t, ii; } var oi, Is; function Ma() { if (Is) return oi; Is = 1; var t = iv(), e = Lc(), r = "[object Symbol]"; function a(n) { return typeof n == "symbol" || e(n) && t(n) == r; } return oi = a, oi; } var si, Os; function Ic() { if (Os) return si; Os = 1; var t = Ac(), e = Ra(), r = Ma(), a = NaN, n = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, o = /^0o[0-7]+$/i, s = parseInt; function u(l) { if (typeof l == "number") return l; if (r(l)) return a; if (e(l)) { var v = typeof l.valueOf == "function" ? l.valueOf() : l; l = e(v) ? v + "" : v; } if (typeof l != "string") return l === 0 ? l : +l; l = t(l); var f = i.test(l); return f || o.test(l) ? s(l.slice(2), f ? 2 : 8) : n.test(l) ? a : +l; } return si = u, si; } var ui, Ns; function Oc() { if (Ns) return ui; Ns = 1; var t = Ra(), e = Bc(), r = Ic(), a = "Expected a function", n = Math.max, i = Math.min; function o(s, u, l) { var v, f, c, d, h, g, p = 0, y = !1, b = !1, m = !0; if (typeof s != "function") throw new TypeError(a); u = r(u) || 0, t(l) && (y = !!l.leading, b = "maxWait" in l, c = b ? n(r(l.maxWait) || 0, u) : c, m = "trailing" in l ? !!l.trailing : m); function w(P) { var M = v, R = f; return v = f = void 0, p = P, d = s.apply(R, M), d; } function T(P) { return p = P, h = setTimeout(S, u), y ? w(P) : d; } function C(P) { var M = P - g, R = P - p, L = u - M; return b ? i(L, c - R) : L; } function x(P) { var M = P - g, R = P - p; return g === void 0 || M >= u || M < 0 || b && R >= c; } function S() { var P = e(); if (x(P)) return D(P); h = setTimeout(S, C(P)); } function D(P) { return h = void 0, m && v ? w(P) : (v = f = void 0, d); } function E() { h !== void 0 && clearTimeout(h), p = 0, v = g = f = h = void 0; } function B() { return h === void 0 ? d : D(e()); } function A() { var P = e(), M = x(P); if (v = arguments, f = this, g = P, M) { if (h === void 0) return T(g); if (b) return clearTimeout(h), h = setTimeout(S, u), w(g); } return h === void 0 && (h = setTimeout(S, u)), d; } return A.cancel = E, A.flush = B, A; } return ui = o, ui; } var La = /* @__PURE__ */ Aa(Oc()), li = Qe ? Qe.performance : null, ov = li && li.now ? function() { return li.now(); } : function() { return Date.now(); }, Nc = (function() { if (Qe) { if (Qe.requestAnimationFrame) return function(t) { Qe.requestAnimationFrame(t); }; if (Qe.mozRequestAnimationFrame) return function(t) { Qe.mozRequestAnimationFrame(t); }; if (Qe.webkitRequestAnimationFrame) return function(t) { Qe.webkitRequestAnimationFrame(t); }; if (Qe.msRequestAnimationFrame) return function(t) { Qe.msRequestAnimationFrame(t); }; } return function(t) { t && setTimeout(function() { t(ov()); }, 1e3 / 60); }; })(), pn = function(e) { return Nc(e); }, $t = ov, br = 9261, sv = 65599, Fr = 5381, uv = function(e) { for (var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : br, a; a = e.next(), !a.done; ) r = r * sv + a.value | 0; return r; }, ba = function(e) { return (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : br) * sv + e | 0; }, wa = function(e) { var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Fr; return (r << 5) + r + e | 0; }, zc = function(e, r) { return e * 2097152 + r; }, Xt = function(e) { return e[0] * 2097152 + e[1]; }, Ha = function(e, r) { return [ba(e[0], r[0]), wa(e[1], r[1])]; }, zs = function(e, r) { var a = { value: 0, done: !1 }, n = 0, i = e.length; return uv({ next: function() { return n < i ? a.value = e[n++] : a.done = !0, a; } }, r); }, Er = function(e, r) { var a = { value: 0, done: !1 }, n = 0, i = e.length; return uv({ next: function() { return n < i ? a.value = e.charCodeAt(n++) : a.done = !0, a; } }, r); }, lv = function() { return Fc(arguments); }, Fc = function(e) { for (var r, a = 0; a < e.length; a++) { var n = e[a]; a === 0 ? r = Er(n) : r = Er(n, r); } return r; }; function Vc(t, e, r, a, n) { var i = n * Math.PI / 180; return { x: Math.cos(i) * (t - r) - Math.sin(i) * (e - a) + r, y: Math.sin(i) * (t - r) + Math.cos(i) * (e - a) + a }; } var qc = function(e, r, a, n, i, o) { return { x: (e - a) * i + a, y: (r - n) * o + n }; }; function _c(t, e, r) { if (r === 0) return t; var a = (e.x1 + e.x2) / 2, n = (e.y1 + e.y2) / 2, i = e.w / e.h, o = 1 / i, s = Vc(t.x, t.y, a, n, r), u = qc(s.x, s.y, a, n, i, o); return { x: u.x, y: u.y }; } var Fs = !0, Gc = console.warn != null, Hc = console.trace != null, Zo = Number.MAX_SAFE_INTEGER || 9007199254740991, vv = function() { return !0; }, yn = function() { return !1; }, Vs = function() { return 0; }, Qo = function() { }, He = function(e) { throw new Error(e); }, fv = function(e) { if (e !== void 0) Fs = !!e; else return Fs; }, Ie = function(e) { fv() && (Gc ? console.warn(e) : Hc && console.trace()); }, $c = function(e) { return ge({}, e); }, Ft = function(e) { return e == null ? e : ze(e) ? e.slice() : Re(e) ? $c(e) : e; }, Wc = function(e) { return e.slice(); }, cv = function(e, r) { for (r = e = ""; e++ < 36; r += e * 51 & 52 ? (e ^ 15 ? 8 ^ Math.random() * (e ^ 20 ? 16 : 4) : 4).toString(16) : "-") ; return r; }, Uc = {}, hv = function() { return Uc; }, vt = function(e) { var r = Object.keys(e); return function(a) { for (var n = {}, i = 0; i < r.length; i++) { var o = r[i], s = a?.[o]; n[o] = s === void 0 ? e[o] : s; } return n; }; }, nr = function(e, r, a) { for (var n = e.length - 1; n >= 0; n--) e[n] === r && e.splice(n, 1); }, Jo = function(e) { e.splice(0, e.length); }, Kc = function(e, r) { for (var a = 0; a < r.length; a++) { var n = r[a]; e.push(n); } }, yt = function(e, r, a) { return a && (r = ev(a, r)), e[r]; }, zt = function(e, r, a, n) { a && (r = ev(a, r)), e[r] = n; }, Ht = typeof Map < "u" ? Map : /* @__PURE__ */ (function() { function t() { lr(this, t), this._obj = {}; } return vr(t, [ { key: "set", value: function(r, a) { return this._obj[r] = a, this; } }, { key: "delete", value: function(r) { return this._obj[r] = void 0, this; } }, { key: "clear", value: function() { this._obj = {}; } }, { key: "has", value: function(r) { return this._obj[r] !== void 0; } }, { key: "get", value: function(r) { return this._obj[r]; } } ]); })(), Yc = "undefined", Xc = /* @__PURE__ */ (function() { function t(e) { if (lr(this, t), this._obj = /* @__PURE__ */ Object.create(null), this.size = 0, e != null) { var r; e.instanceString != null && e.instanceString() === this.instanceString() ? r = e.toArray() : r = e; for (var a = 0; a < r.length; a++) this.add(r[a]); } } return vr(t, [ { key: "instanceString", value: function() { return "set"; } }, { key: "add", value: function(r) { var a = this._obj; a[r] !== 1 && (a[r] = 1, this.size++); } }, { key: "delete", value: function(r) { var a = this._obj; a[r] === 1 && (a[r] = 0, this.size--); } }, { key: "clear", value: function() { this._obj = /* @__PURE__ */ Object.create(null); } }, { key: "has", value: function(r) { return this._obj[r] === 1; } }, { key: "toArray", value: function() { var r = this; return Object.keys(this._obj).filter(function(a) { return r.has(a); }); } }, { key: "forEach", value: function(r, a) { return this.toArray().forEach(r, a); } } ]); })(), Jr = (typeof Set > "u" ? "undefined" : je(Set)) !== Yc ? Set : Xc, Mn = function(e, r) { var a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; if (e === void 0 || r === void 0 || !Ko(e)) { He("An element must have a core reference and parameters set"); return; } var n = r.group; if (n == null && (r.data && r.data.source != null && r.data.target != null ? n = "edges" : n = "nodes"), n !== "nodes" && n !== "edges") { He("An element must be of type `nodes` or `edges`; you specified `" + n + "`"); return; } this.length = 1, this[0] = this; var i = this._private = { cy: e, single: !0, data: r.data || {}, position: r.position || { x: 0, y: 0 }, autoWidth: void 0, autoHeight: void 0, autoPadding: void 0, compoundBoundsClean: !1, listeners: [], group: n, style: {}, rstyle: {}, styleCxts: [], styleKeys: {}, removed: !0, selected: !!r.selected, selectable: r.selectable === void 0 ? !0 : !!r.selectable, locked: !!r.locked, grabbed: !1, grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable, pannable: r.pannable === void 0 ? n === "edges" : !!r.pannable, active: !1, classes: new Jr(), animation: { current: [], queue: [] }, rscratch: {}, scratch: r.scratch || {}, edges: [], children: [], parent: r.parent && r.parent.isNode() ? r.parent : null, traversalCache: {}, backgrounding: !1, bbCache: null, bbCacheShift: { x: 0, y: 0 }, bodyBounds: null, overlayBounds: null, labelBounds: { all: null, source: null, target: null, main: null }, arrowBounds: { source: null, target: null, "mid-source": null, "mid-target": null } }; if (i.position.x == null && (i.position.x = 0), i.position.y == null && (i.position.y = 0), r.renderedPosition) { var o = r.renderedPosition, s = e.pan(), u = e.zoom(); i.position = { x: (o.x - s.x) / u, y: (o.y - s.y) / u }; } var l = []; ze(r.classes) ? l = r.classes : he(r.classes) && (l = r.classes.split(/\s+/)); for (var v = 0, f = l.length; v < f; v++) { var c = l[v]; !c || c === "" || i.classes.add(c); } this.createEmitter(), (a === void 0 || a) && this.restore(); var d = r.style || r.css; d && (Ie("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."), this.style(d)); }, qs = function(e) { return e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }, function(a, n, i) { var o; Re(a) && !Tt(a) && (o = a, a = o.roots || o.root, n = o.visit, i = o.directed), i = arguments.length === 2 && !We(n) ? n : i, n = We(n) ? n : function() { }; for (var s = this._private.cy, u = a = he(a) ? this.filter(a) : a, l = [], v = [], f = {}, c = {}, d = {}, h = 0, g, p = this.byGroup(), y = p.nodes, b = p.edges, m = 0; m < u.length; m++) { var w = u[m], T = w.id(); w.isNode() && (l.unshift(w), e.bfs && (d[T] = !0, v.push(w)), c[T] = 0); } for (var C = function() { var P = e.bfs ? l.shift() : l.pop(), M = P.id(); if (e.dfs) { if (d[M]) return 0; d[M] = !0, v.push(P); } var R = c[M], L = f[M], I = L != null ? L.source() : null, F = L != null ? L.target() : null, _ = L == null ? void 0 : P.same(I) ? F[0] : I[0], N = n(P, L, _, h++, R); if (N === !0) return g = P, 1; if (N === !1) return 1; for (var G = P.connectedEdges().filter(function(te) { return (!i || te.source().same(P)) && b.has(te); }), Z = 0; Z < G.length; Z++) { var W = G[Z], $ = W.connectedNodes().filter(function(te) { return !te.same(P) && y.has(te); }), Y = $.id(); $.length !== 0 && !d[Y] && ($ = $[0], l.push($), e.bfs && (d[Y] = !0, v.push($)), f[Y] = W, c[Y] = c[M] + 1); } }, x; l.length !== 0 && (x = C(), !(x !== 0 && x === 1)); ) ; for (var S = s.collection(), D = 0; D < v.length; D++) { var E = v[D], B = f[E.id()]; B != null && S.push(B), S.push(E); } return { path: s.collection(S), found: s.collection(g) }; }; }, xa = { breadthFirstSearch: qs({ bfs: !0 }), depthFirstSearch: qs({ dfs: !0 }) }; xa.bfs = xa.breadthFirstSearch; xa.dfs = xa.depthFirstSearch; var rn = { exports: {} }, Zc = rn.exports, _s; function Qc() { return _s || (_s = 1, (function(t, e) { (function() { var r, a, n = Math.floor, i, o, s, u, l, v, f = Math.min, c, d, h, g, p; a = function(y, b) { return y < b ? -1 : y > b ? 1 : 0; }, v = function(y, b, m, w, T) { var C; if (m == null && (m = 0), T == null && (T = a), m < 0) throw new Error("lo must be non-negative"); for (w == null && (w = y.length); m < w; ) C = n((m + w) / 2), T(b, y[C]) < 0 ? w = C : m = C + 1; return [].splice.apply(y, [m, m - m].concat(b)), b; }, s = function(y, b, m) { return m == null && (m = a), y.push(b), g(y, 0, y.length - 1, m); }, o = function(y, b) { var m, w; return b == null && (b = a), m = y.pop(), y.length ? (w = y[0], y[0] = m, p(y, 0, b)) : w = m, w; }, l = function(y, b, m) { var w; return m == null && (m = a), w = y[0], y[0] = b, p(y, 0, m), w; }, u = function(y, b, m) { var w; return m == null && (m = a), y.length && m(y[0], b) < 0 && (w = [y[0], b], b = w[0], y[0] = w[1], p(y, 0, m)), b; }, i = function(y, b) { var m, w, T, C, x, S; for (b == null && (b = a), C = (function() { S = []; for (var D = 0, E = n(y.length / 2); 0 <= E ? D < E : D > E; 0 <= E ? D++ : D--) S.push(D); return S; }).apply(this).reverse(), x = [], w = 0, T = C.length; w < T; w++) m = C[w], x.push(p(y, m, b)); return x; }, h = function(y, b, m) { var w; if (m == null && (m = a), w = y.indexOf(b), w !== -1) return g(y, 0, w, m), p(y, w, m); }, c = function(y, b, m) { var w, T, C, x, S; if (m == null && (m = a), T = y.slice(0, b), !T.length) return T; for (i(T, m), S = y.slice(b), C = 0, x = S.length; C < x; C++) w = S[C], u(T, w, m); return T.sort(m).reverse(); }, d = function(y, b, m) { var w, T, C, x, S, D, E, B, A; if (m == null && (m = a), b * 10 <= y.length) { if (C = y.slice(0, b).sort(m), !C.length) return C; for (T = C[C.length - 1], E = y.slice(b), x = 0, D = E.length; x < D; x++) w = E[x], m(w, T) < 0 && (v(C, w, 0, null, m), C.pop(), T = C[C.length - 1]); return C; } for (i(y, m), A = [], S = 0, B = f(b, y.length); 0 <= B ? S < B : S > B; 0 <= B ? ++S : --S) A.push(o(y, m)); return A; }, g = function(y, b, m, w) { var T, C, x; for (w == null && (w = a), T = y[m]; m > b; ) { if (x = m - 1 >> 1, C = y[x], w(T, C) < 0) { y[m] = C, m = x; continue; } break; } return y[m] = T; }, p = function(y, b, m) { var w, T, C, x, S; for (m == null && (m = a), T = y.length, S = b, C = y[b], w = 2 * b + 1; w < T; ) x = w + 1, x < T && !(m(y[w], y[x]) < 0) && (w = x), y[b] = y[w], b = w, w = 2 * b + 1; return y[b] = C, g(y, S, b, m); }, r = (function() { y.push = s, y.pop = o, y.replace = l, y.pushpop = u, y.heapify = i, y.updateItem = h, y.nlargest = c, y.nsmallest = d; function y(b) { this.cmp = b ?? a, this.nodes = []; } return y.prototype.push = function(b) { return s(this.nodes, b, this.cmp); }, y.prototype.pop = function() { return o(this.nodes, this.cmp); }, y.prototype.peek = function() { return this.nodes[0]; }, y.prototype.contains = function(b) { return this.nodes.indexOf(b) !== -1; }, y.prototype.replace = function(b) { return l(this.nodes, b, this.cmp); }, y.prototype.pushpop = function(b) { return u(this.nodes, b, this.cmp); }, y.prototype.heapify = function() { return i(this.nodes, this.cmp); }, y.prototype.updateItem = function(b) { return h(this.nodes, b, this.cmp); }, y.prototype.clear = function() { return this.nodes = []; }, y.prototype.empty = function() { return this.nodes.length === 0; }, y.prototype.size = function() { return this.nodes.length; }, y.prototype.clone = function() { var b = new y(); return b.nodes = this.nodes.slice(0), b; }, y.prototype.toArray = function() { return this.nodes.slice(0); }, y.prototype.insert = y.prototype.push, y.prototype.top = y.prototype.peek, y.prototype.front = y.prototype.peek, y.prototype.has = y.prototype.contains, y.prototype.copy = y.prototype.clone, y; })(), (function(y, b) { return t.exports = b(); })(this, function() { return r; }); }).call(Zc); })(rn)), rn.exports; } var vi, Gs; function Jc() { return Gs || (Gs = 1, vi = Qc()), vi; } var Ia = /* @__PURE__ */ Aa(Jc()), jc = vt({ root: null, weight: function(e) { return 1; }, directed: !1 }), eh = { dijkstra: function(e) { if (!Re(e)) { var r = arguments; e = { root: r[0], weight: r[1], directed: r[2] }; } var a = jc(e), n = a.root, i = a.weight, o = a.directed, s = this, u = i, l = he(n) ? this.filter(n)[0] : n[0], v = {}, f = {}, c = {}, d = this.byGroup(), h = d.nodes, g = d.edges; g.unmergeBy(function(R) { return R.isLoop(); }); for (var p = function(L) { return v[L.id()]; }, y = function(L, I) { v[L.id()] = I, b.updateItem(L); }, b = new Ia(function(R, L) { return p(R) - p(L); }), m = 0; m < h.length; m++) { var w = h[m]; v[w.id()] = w.same(l) ? 0 : 1 / 0, b.push(w); } for (var T = function(L, I) { for (var F = (o ? L.edgesTo(I) : L.edgesWith(I)).intersect(g), _ = 1 / 0, N, G = 0; G < F.length; G++) { var Z = F[G], W = u(Z); (W < _ || !N) && (_ = W, N = Z); } return { edge: N, dist: _ }; }; b.size() > 0; ) { var C = b.pop(), x = p(C), S = C.id(); if (c[S] = x, x !== 1 / 0) for (var D = C.neighborhood().intersect(h), E = 0; E < D.length; E++) { var B = D[E], A = B.id(), P = T(C, B), M = x + P.dist; M < p(B) && (y(B, M), f[A] = { node: C, edge: P.edge }); } } return { distanceTo: function(L) { return c[(he(L) ? h.filter(L)[0] : L[0]).id()]; }, pathTo: function(L) { var I = he(L) ? h.filter(L)[0] : L[0], F = [], _ = I, N = _.id(); if (I.length > 0) for (F.unshift(I); f[N]; ) { var G = f[N]; F.unshift(G.edge), F.unshift(G.node), _ = G.node, N = _.id(); } return s.spawn(F); } }; } }, th = { kruskal: function(e) { e = e || function(m) { return 1; }; for (var r = this.byGroup(), a = r.nodes, n = r.edges, i = a.length, o = new Array(i), s = a, u = function(w) { for (var T = 0; T < o.length; T++) if (o[T].has(w)) return T; }, l = 0; l < i; l++) o[l] = this.spawn(a[l]); for (var v = n.sort(function(m, w) { return e(m) - e(w); }), f = 0; f < v.length; f++) { var c = v[f], d = c.source()[0], h = c.target()[0], g = u(d), p = u(h), y = o[g], b = o[p]; g !== p && (s.merge(c), y.merge(b), o.splice(p, 1)); } return s; } }, rh = vt({ root: null, goal: null, weight: function(e) { return 1; }, heuristic: function(e) { return 0; }, directed: !1 }), ah = { aStar: function(e) { var r = this.cy(), a = rh(e), n = a.root, i = a.goal, o = a.heuristic, s = a.directed, u = a.weight; n = r.collection(n)[0], i = r.collection(i)[0]; var l = n.id(), v = i.id(), f = {}, c = {}, d = {}, h = new Ia(function(N, G) { return c[N.id()] - c[G.id()]; }), g = new Jr(), p = {}, y = {}, b = function(G, Z) { h.push(G), g.add(Z); }, m, w, T = function() { m = h.pop(), w = m.id(), g.delete(w); }, C = function(G) { return g.has(G); }; b(n, l), f[l] = 0, c[l] = o(n); for (var x = 0; h.size() > 0; ) { if (T(), x++, w === v) { for (var S = [], D = i, E = v, B = y[E]; S.unshift(D), B != null && S.unshift(B), D = p[E], D != null; ) E = D.id(), B = y[E]; return { found: !0, distance: f[w], path: this.spawn(S), steps: x }; } d[w] = !0; for (var A = m._private.edges, P = 0; P < A.length; P++) { var M = A[P]; if (this.hasElementWithId(M.id()) && !(s && M.data("source") !== w)) { var R = M.source(), L = M.target(), I = R.id() !== w ? R : L, F = I.id(); if (this.hasElementWithId(F) && !d[F]) { var _ = f[w] + u(M); if (!C(F)) { f[F] = _, c[F] = _ + o(I), b(I, F), p[F] = m, y[F] = M; continue; } _ < f[F] && (f[F] = _, c[F] = _ + o(I), p[F] = m, y[F] = M); } } } } return { found: !1, distance: void 0, path: void 0, steps: x }; } }, nh = vt({ weight: function(e) { return 1; }, directed: !1 }), ih = { floydWarshall: function(e) { for (var r = this.cy(), a = nh(e), n = a.weight, i = a.directed, o = n, s = this.byGroup(), u = s.nodes, l = s.edges, v = u.length, f = v * v, c = function(G) { return u.indexOf(G); }, d = function(G) { return u[G]; }, h = new Array(f), g = 0; g < f; g++) { var p = g % v; (g - p) / v === p ? h[g] = 0 : h[g] = 1 / 0; } for (var y = new Array(f), b = new Array(f), m = 0; m < l.length; m++) { var w = l[m], T = w.source()[0], C = w.target()[0]; if (T !== C) { var x = c(T), S = c(C), D = x * v + S, E = o(w); if (h[D] > E && (h[D] = E, y[D] = S, b[D] = w), !i) { var B = S * v + x; !i && h[B] > E && (h[B] = E, y[B] = x, b[B] = w); } } } for (var A = 0; A < v; A++) for (var P = 0; P < v; P++) for (var M = P * v + A, R = 0; R < v; R++) { var L = P * v + R, I = A * v + R; h[M] + h[I] < h[L] && (h[L] = h[M] + h[I], y[L] = y[M]); } var F = function(G) { return (he(G) ? r.filter(G) : G)[0]; }, _ = function(G) { return c(F(G)); }; return { distance: function(G, Z) { var W = _(G), $ = _(Z); return h[W * v + $]; }, path: function(G, Z) { var W = _(G), $ = _(Z), Y = d(W); if (W === $) return Y.collection(); if (y[W * v + $] == null) return r.collection(); var te = r.collection(), J = W, X; for (te.merge(Y); W !== $; ) J = W, W = y[W * v + $], X = b[J * v + W], te.merge(X), te.merge(d(W)); return te; } }; } }, oh = vt({ weight: function(e) { return 1; }, directed: !1, root: null }), sh = { bellmanFord: function(e) { var r = this, a = oh(e), n = a.weight, i = a.directed, o = a.root, s = n, u = this, l = this.cy(), v = this.byGroup(), f = v.edges, c = v.nodes, d = c.length, h = new Ht(), g = !1, p = []; o = l.collection(o)[0], f.unmergeBy(function(le) { return le.isLoop(); }); for (var y = f.length, b = function(ae) { var fe = h.get(ae.id()); return fe || (fe = {}, h.set(ae.id(), fe)), fe; }, m = function(ae) { return (he(ae) ? l.$(ae) : ae)[0]; }, w = function(ae) { return b(m(ae)).dist; }, T = function(ae) { for (var fe = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : o, pe = m(ae), me = [], ce = pe; ; ) { if (ce == null) return r.spawn(); var Ce = b(ce), Be = Ce.edge, Pe = Ce.pred; if (me.unshift(ce[0]), ce.same(fe) && me.length > 0) break; Be != null && me.unshift(Be), ce = Pe; } return u.spawn(me); }, C = 0; C < d; C++) { var x = c[C], S = b(x); x.same(o) ? S.dist = 0 : S.dist = 1 / 0, S.pred = null, S.edge = null; } for (var D = !1, E = function(ae, fe, pe, me, ce, Ce) { var Be = me.dist + Ce; Be < ce.dist && !pe.same(me.edge) && (ce.dist = Be, ce.pred = ae, ce.edge = pe, D = !0); }, B = 1; B < d; B++) { D = !1; for (var A = 0; A < y; A++) { var P = f[A], M = P.source(), R = P.target(), L = s(P), I = b(M), F = b(R); E(M, R, P, I, F, L), i || E(R, M, P, F, I, L); } if (!D) break; } if (D) for (var _ = [], N = 0; N < y; N++) { var G = f[N], Z = G.source(), W = G.target(), $ = s(G), Y = b(Z).dist, te = b(W).dist; if (Y + $ < te || !i && te + $ < Y) if (g || (Ie("Graph contains a negative weight cycle for Bellman-Ford"), g = !0), e.findNegativeWeightCycles !== !1) { var J = []; Y + $ < te && J.push(Z), !i && te + $ < Y && J.push(W); for (var X = J.length, O = 0; O < X; O++) { var V = J[O], q = [V]; q.push(b(V).edge); for (var j = b(V).pred; q.indexOf(j) === -1; ) q.push(j), q.push(b(j).edge), j = b(j).pred; q = q.slice(q.indexOf(j)); for (var ue = q[0].id(), we = 0, be = 2; be < q.length; be += 2) q[be].id() < ue && (ue = q[be].id(), we = be); q = q.slice(we).concat(q.slice(0, we)), q.push(q[0]); var ke = q.map(function(le) { return le.id(); }).join(","); _.indexOf(ke) === -1 && (p.push(u.spawn(q)), _.push(ke)); } } else break; } return { distanceTo: w, pathTo: T, hasNegativeWeightCycle: g, negativeWeightCycles: p }; } }, uh = Math.sqrt(2), lh = function(e, r, a) { a.length === 0 && He("Karger-Stein must be run on a connected (sub)graph"); for (var n = a[e], i = n[1], o = n[2], s = r[i], u = r[o], l = a, v = l.length - 1; v >= 0; v--) { var f = l[v], c = f[1], d = f[2]; (r[c] === s && r[d] === u || r[c] === u && r[d] === s) && l.splice(v, 1); } for (var h = 0; h < l.length; h++) { var g = l[h]; g[1] === u ? (l[h] = g.slice(), l[h][1] = s) : g[2] === u && (l[h] = g.slice(), l[h][2] = s); } for (var p = 0; p < r.length; p++) r[p] === u && (r[p] = s); return l; }, fi = function(e, r, a, n) { for (; a > n; ) r = lh(Math.floor(Math.random() * r.length), e, r), a--; return r; }, vh = { kargerStein: function() { var e = this, r = this.byGroup(), a = r.nodes, n = r.edges; n.unmergeBy(function(L) { return L.isLoop(); }); var i = a.length, o = n.length, s = Math.ceil(Math.pow(Math.log(i) / Math.LN2, 2)), u = Math.floor(i / uh); if (i < 2) { He("At least 2 nodes are required for Karger-Stein algorithm"); return; } for (var l = [], v = 0; v < o; v++) { var f = n[v]; l.push([ v, a.indexOf(f.source()), a.indexOf(f.target()) ]); } for (var c = 1 / 0, d = [], h = new Array(i), g = new Array(i), p = new Array(i), y = function(I, F) { for (var _ = 0; _ < i; _++) F[_] = I[_]; }, b = 0; b <= s; b++) { for (var m = 0; m < i; m++) g[m] = m; var w = fi(g, l.slice(), i, u), T = w.slice(); y(g, p); var C = fi(g, w, u, 2), x = fi(p, T, u, 2); C.length <= x.length && C.length < c ? (c = C.length, d = C, y(g, h)) : x.length <= C.length && x.length < c && (c = x.length, d = x, y(p, h)); } for (var S = this.spawn(d.map(function(L) { return n[L[0]]; })), D = this.spawn(), E = this.spawn(), B = h[0], A = 0; A < h.length; A++) { var P = h[A], M = a[A]; P === B ? D.merge(M) : E.merge(M); } var R = function(I) { var F = e.spawn(); return I.forEach(function(_) { F.merge(_), _.connectedEdges().forEach(function(N) { e.contains(N) && !S.contains(N) && F.merge(N); }); }), F; }; return { cut: S, components: [R(D), R(E)], partition1: D, partition2: E }; } }, ci, fh = function(e) { return { x: e.x, y: e.y }; }, Ln = function(e, r, a) { return { x: e.x * r + a.x, y: e.y * r + a.y }; }, dv = function(e, r, a) { return { x: (e.x - a.x) / r, y: (e.y - a.y) / r }; }, Vr = function(e) { return { x: e[0], y: e[1] }; }, ch = function(e) { for (var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, n = 1 / 0, i = r; i < a; i++) { var o = e[i]; isFinite(o) && (n = Math.min(o, n)); } return n; }, hh = function(e) { for (var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, n = -1 / 0, i = r; i < a; i++) { var o = e[i]; isFinite(o) && (n = Math.max(o, n)); } return n; }, dh = function(e) { for (var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, n = 0, i = 0, o = r; o < a; o++) { var s = e[o]; isFinite(s) && (n += s, i++); } return n / i; }, gh = function(e) { var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, o = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0; n ? e = e.slice(r, a) : (a < e.length && e.splice(a, e.length - a), r > 0 && e.splice(0, r)); for (var s = 0, u = e.length - 1; u >= 0; u--) { var l = e[u]; o ? isFinite(l) || (e[u] = -1 / 0, s++) : e.splice(u, 1); } i && e.sort(function(c, d) { return c - d; }); var v = e.length, f = Math.floor(v / 2); return v % 2 !== 0 ? e[f + 1 + s] : (e[f - 1 + s] + e[f + s]) / 2; }, ph = function(e) { return Math.PI * e / 180; }, $a = function(e, r) { return Math.atan2(r, e) - Math.PI / 2; }, jo = Math.log2 || function(t) { return Math.log(t) / Math.log(2); }, es = function(e) { return e > 0 ? 1 : e < 0 ? -1 : 0; }, Cr = function(e, r) { return Math.sqrt(yr(e, r)); }, yr = function(e, r) { var a = r.x - e.x, n = r.y - e.y; return a * a + n * n; }, yh = function(e) { for (var r = e.length, a = 0, n = 0; n < r; n++) a += e[n]; for (var i = 0; i < r; i++) e[i] = e[i] / a; return e; }, rt = function(e, r, a, n) { return (1 - n) * (1 - n) * e + 2 * (1 - n) * n * r + n * n * a; }, Gr = function(e, r, a, n) { return { x: rt(e.x, r.x, a.x, n), y: rt(e.y, r.y, a.y, n) }; }, mh = function(e, r, a, n) { var i = {