import { l as g, a as Se, s as Te, g as ke, b as Ee, c as Hi, d as Ne, e as xi, f as Oe } from "./config-e567ef17.js"; import { s as Fe } from "./setupGraphViewbox-a4603a92.js"; import { c as Me } from "./commonDb-4dc3d465.js"; var gi = {}; Object.defineProperty(gi, "__esModule", { value: !0 }); var qi = gi.sanitizeUrl = void 0, Ie = /^([^\w]*)(javascript|data|vbscript)/im, $e = /&#(\w+)(^\w|;)?/g, Pe = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, je = /^([^:]+):/gm, Le = [".", "/"]; function De(i) { return Le.indexOf(i[0]) > -1; } function Re(i) { return i.replace($e, function(e, n) { return String.fromCharCode(n); }); } function ze(i) { var e = Re(i || "").replace(Pe, "").trim(); if (!e) return "about:blank"; if (De(e)) return e; var n = e.match(je); if (!n) return e; var t = n[0]; return Ie.test(t) ? "about:blank" : e; } qi = gi.sanitizeUrl = ze; const Ko = Math.abs, Vo = Math.atan2, Xo = Math.cos, Jo = Math.max, Zo = Math.min, Qo = Math.sin, is = Math.sqrt, Ni = 1e-12, mi = Math.PI, Oi = mi / 2, es = 2 * mi; function ns(i) { return i > 1 ? 0 : i < -1 ? mi : Math.acos(i); } function ts(i) { return i >= 1 ? Oi : i <= -1 ? -Oi : Math.asin(i); } function Gi(i) { this._context = i; } Gi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2; default: this._context.lineTo(i, e); break; } } }; function Be(i) { return new Gi(i); } class Ki { constructor(e, n) { this._context = e, this._x = n; } areaStart() { this._line = 0; } areaEnd() { this._line = NaN; } lineStart() { this._point = 0; } lineEnd() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; } point(e, n) { switch (e = +e, n = +n, this._point) { case 0: { this._point = 1, this._line ? this._context.lineTo(e, n) : this._context.moveTo(e, n); break; } case 1: this._point = 2; default: { this._x ? this._context.bezierCurveTo(this._x0 = (this._x0 + e) / 2, this._y0, this._x0, n, e, n) : this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + n) / 2, e, this._y0, e, n); break; } } this._x0 = e, this._y0 = n; } } function Ye(i) { return new Ki(i, !0); } function We(i) { return new Ki(i, !1); } function E() { } function K(i, e, n) { i._context.bezierCurveTo( (2 * i._x0 + i._x1) / 3, (2 * i._y0 + i._y1) / 3, (i._x0 + 2 * i._x1) / 3, (i._y0 + 2 * i._y1) / 3, (i._x0 + 4 * i._x1 + e) / 6, (i._y0 + 4 * i._y1 + n) / 6 ); } function ri(i) { this._context = i; } ri.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 3: K(this, this._x1, this._y1); case 2: this._context.lineTo(this._x1, this._y1); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2; break; case 2: this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); default: K(this, i, e); break; } this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e; } }; function Ue(i) { return new ri(i); } function Vi(i) { this._context = i; } Vi.prototype = { areaStart: E, areaEnd: E, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x2, this._y2), this._context.closePath(); break; } case 2: { this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); break; } case 3: { this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); break; } } }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._x2 = i, this._y2 = e; break; case 1: this._point = 2, this._x3 = i, this._y3 = e; break; case 2: this._point = 3, this._x4 = i, this._y4 = e, this._context.moveTo((this._x0 + 4 * this._x1 + i) / 6, (this._y0 + 4 * this._y1 + e) / 6); break; default: K(this, i, e); break; } this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e; } }; function He(i) { return new Vi(i); } function Xi(i) { this._context = i; } Xi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3; var n = (this._x0 + 4 * this._x1 + i) / 6, t = (this._y0 + 4 * this._y1 + e) / 6; this._line ? this._context.lineTo(n, t) : this._context.moveTo(n, t); break; case 3: this._point = 4; default: K(this, i, e); break; } this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e; } }; function qe(i) { return new Xi(i); } function Ji(i, e) { this._basis = new ri(i), this._beta = e; } Ji.prototype = { lineStart: function() { this._x = [], this._y = [], this._basis.lineStart(); }, lineEnd: function() { var i = this._x, e = this._y, n = i.length - 1; if (n > 0) for (var t = i[0], r = e[0], s = i[n] - t, o = e[n] - r, l = -1, a; ++l <= n; ) a = l / n, this._basis.point( this._beta * i[l] + (1 - this._beta) * (t + a * s), this._beta * e[l] + (1 - this._beta) * (r + a * o) ); this._x = this._y = null, this._basis.lineEnd(); }, point: function(i, e) { this._x.push(+i), this._y.push(+e); } }; const Ge = function i(e) { function n(t) { return e === 1 ? new ri(t) : new Ji(t, e); } return n.beta = function(t) { return i(+t); }, n; }(0.85); function V(i, e, n) { i._context.bezierCurveTo( i._x1 + i._k * (i._x2 - i._x0), i._y1 + i._k * (i._y2 - i._y0), i._x2 + i._k * (i._x1 - e), i._y2 + i._k * (i._y1 - n), i._x2, i._y2 ); } function yi(i, e) { this._context = i, this._k = (1 - e) / 6; } yi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: V(this, this._x1, this._y1); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2, this._x1 = i, this._y1 = e; break; case 2: this._point = 3; default: V(this, i, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Ke = function i(e) { function n(t) { return new yi(t, e); } return n.tension = function(t) { return i(+t); }, n; }(0); function vi(i, e) { this._context = i, this._k = (1 - e) / 6; } vi.prototype = { areaStart: E, areaEnd: E, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break; } } }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._x3 = i, this._y3 = e; break; case 1: this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = e); break; case 2: this._point = 3, this._x5 = i, this._y5 = e; break; default: V(this, i, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Ve = function i(e) { function n(t) { return new vi(t, e); } return n.tension = function(t) { return i(+t); }, n; }(0); function bi(i, e) { this._context = i, this._k = (1 - e) / 6; } bi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: V(this, i, e); break; } this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Xe = function i(e) { function n(t) { return new bi(t, e); } return n.tension = function(t) { return i(+t); }, n; }(0); function wi(i, e, n) { var t = i._x1, r = i._y1, s = i._x2, o = i._y2; if (i._l01_a > Ni) { var l = 2 * i._l01_2a + 3 * i._l01_a * i._l12_a + i._l12_2a, a = 3 * i._l01_a * (i._l01_a + i._l12_a); t = (t * l - i._x0 * i._l12_2a + i._x2 * i._l01_2a) / a, r = (r * l - i._y0 * i._l12_2a + i._y2 * i._l01_2a) / a; } if (i._l23_a > Ni) { var h = 2 * i._l23_2a + 3 * i._l23_a * i._l12_a + i._l12_2a, f = 3 * i._l23_a * (i._l23_a + i._l12_a); s = (s * h + i._x1 * i._l23_2a - e * i._l12_2a) / f, o = (o * h + i._y1 * i._l23_2a - n * i._l12_2a) / f; } i._context.bezierCurveTo(t, r, s, o, i._x2, i._y2); } function Zi(i, e) { this._context = i, this._alpha = e; } Zi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: this.point(this._x2, this._y2); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { if (i = +i, e = +e, this._point) { var n = this._x2 - i, t = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha)); } switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2; break; case 2: this._point = 3; default: wi(this, i, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Je = function i(e) { function n(t) { return e ? new Zi(t, e) : new yi(t, 0); } return n.alpha = function(t) { return i(+t); }, n; }(0.5); function Qi(i, e) { this._context = i, this._alpha = e; } Qi.prototype = { areaStart: E, areaEnd: E, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; } case 2: { this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; } case 3: { this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); break; } } }, point: function(i, e) { if (i = +i, e = +e, this._point) { var n = this._x2 - i, t = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha)); } switch (this._point) { case 0: this._point = 1, this._x3 = i, this._y3 = e; break; case 1: this._point = 2, this._context.moveTo(this._x4 = i, this._y4 = e); break; case 2: this._point = 3, this._x5 = i, this._y5 = e; break; default: wi(this, i, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Ze = function i(e) { function n(t) { return e ? new Qi(t, e) : new vi(t, 0); } return n.alpha = function(t) { return i(+t); }, n; }(0.5); function ie(i, e) { this._context = i, this._alpha = e; } ie.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { if (i = +i, e = +e, this._point) { var n = this._x2 - i, t = this._y2 - e; this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + t * t, this._alpha)); } switch (this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: wi(this, i, e); break; } this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = i, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e; } }; const Qe = function i(e) { function n(t) { return e ? new ie(t, e) : new bi(t, 0); } return n.alpha = function(t) { return i(+t); }, n; }(0.5); function ee(i) { this._context = i; } ee.prototype = { areaStart: E, areaEnd: E, lineStart: function() { this._point = 0; }, lineEnd: function() { this._point && this._context.closePath(); }, point: function(i, e) { i = +i, e = +e, this._point ? this._context.lineTo(i, e) : (this._point = 1, this._context.moveTo(i, e)); } }; function en(i) { return new ee(i); } function Fi(i) { return i < 0 ? -1 : 1; } function Mi(i, e, n) { var t = i._x1 - i._x0, r = e - i._x1, s = (i._y1 - i._y0) / (t || r < 0 && -0), o = (n - i._y1) / (r || t < 0 && -0), l = (s * r + o * t) / (t + r); return (Fi(s) + Fi(o)) * Math.min(Math.abs(s), Math.abs(o), 0.5 * Math.abs(l)) || 0; } function Ii(i, e) { var n = i._x1 - i._x0; return n ? (3 * (i._y1 - i._y0) / n - e) / 2 : e; } function ci(i, e, n) { var t = i._x0, r = i._y0, s = i._x1, o = i._y1, l = (s - t) / 3; i._context.bezierCurveTo(t + l, r + l * e, s - l, o - l * n, s, o); } function X(i) { this._context = i; } X.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x1, this._y1); break; case 3: ci(this, this._t0, Ii(this, this._t0)); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(i, e) { var n = NaN; if (i = +i, e = +e, !(i === this._x1 && e === this._y1)) { switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2; break; case 2: this._point = 3, ci(this, Ii(this, n = Mi(this, i, e)), n); break; default: ci(this, this._t0, n = Mi(this, i, e)); break; } this._x0 = this._x1, this._x1 = i, this._y0 = this._y1, this._y1 = e, this._t0 = n; } } }; function ne(i) { this._context = new te(i); } (ne.prototype = Object.create(X.prototype)).point = function(i, e) { X.prototype.point.call(this, e, i); }; function te(i) { this._context = i; } te.prototype = { moveTo: function(i, e) { this._context.moveTo(e, i); }, closePath: function() { this._context.closePath(); }, lineTo: function(i, e) { this._context.lineTo(e, i); }, bezierCurveTo: function(i, e, n, t, r, s) { this._context.bezierCurveTo(e, i, t, n, s, r); } }; function nn(i) { return new X(i); } function tn(i) { return new ne(i); } function re(i) { this._context = i; } re.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = [], this._y = []; }, lineEnd: function() { var i = this._x, e = this._y, n = i.length; if (n) if (this._line ? this._context.lineTo(i[0], e[0]) : this._context.moveTo(i[0], e[0]), n === 2) this._context.lineTo(i[1], e[1]); else for (var t = $i(i), r = $i(e), s = 0, o = 1; o < n; ++s, ++o) this._context.bezierCurveTo(t[0][s], r[0][s], t[1][s], r[1][s], i[o], e[o]); (this._line || this._line !== 0 && n === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null; }, point: function(i, e) { this._x.push(+i), this._y.push(+e); } }; function $i(i) { var e, n = i.length - 1, t, r = new Array(n), s = new Array(n), o = new Array(n); for (r[0] = 0, s[0] = 2, o[0] = i[0] + 2 * i[1], e = 1; e < n - 1; ++e) r[e] = 1, s[e] = 4, o[e] = 4 * i[e] + 2 * i[e + 1]; for (r[n - 1] = 2, s[n - 1] = 7, o[n - 1] = 8 * i[n - 1] + i[n], e = 1; e < n; ++e) t = r[e] / s[e - 1], s[e] -= t, o[e] -= t * o[e - 1]; for (r[n - 1] = o[n - 1] / s[n - 1], e = n - 2; e >= 0; --e) r[e] = (o[e] - r[e + 1]) / s[e]; for (s[n - 1] = (i[n] + r[n - 1]) / 2, e = 0; e < n - 1; ++e) s[e] = 2 * i[e + 1] - r[e + 1]; return [r, s]; } function rn(i) { return new re(i); } function oi(i, e) { this._context = i, this._t = e; } oi.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = this._y = NaN, this._point = 0; }, lineEnd: function() { 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line); }, point: function(i, e) { switch (i = +i, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(i, e) : this._context.moveTo(i, e); break; case 1: this._point = 2; default: { if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(i, e); else { var n = this._x * (1 - this._t) + i * this._t; this._context.lineTo(n, this._y), this._context.lineTo(n, e); } break; } } this._x = i, this._y = e; } }; function on(i) { return new oi(i, 0.5); } function sn(i) { return new oi(i, 0); } function ln(i) { return new oi(i, 1); } /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ function oe(i) { return typeof i > "u" || i === null; } function an(i) { return typeof i == "object" && i !== null; } function cn(i) { return Array.isArray(i) ? i : oe(i) ? [] : [i]; } function hn(i, e) { var n, t, r, s; if (e) for (s = Object.keys(e), n = 0, t = s.length; n < t; n += 1) r = s[n], i[r] = e[r]; return i; } function un(i, e) { var n = "", t; for (t = 0; t < e; t += 1) n += i; return n; } function fn(i) { return i === 0 && Number.NEGATIVE_INFINITY === 1 / i; } var _n = oe, pn = an, dn = cn, xn = un, gn = fn, mn = hn, w = { isNothing: _n, isObject: pn, toArray: dn, repeat: xn, isNegativeZero: gn, extend: mn }; function se(i, e) { var n = "", t = i.reason || "(unknown reason)"; return i.mark ? (i.mark.name && (n += 'in "' + i.mark.name + '" '), n += "(" + (i.mark.line + 1) + ":" + (i.mark.column + 1) + ")", !e && i.mark.snippet && (n += ` ` + i.mark.snippet), t + " " + n) : t; } function B(i, e) { Error.call(this), this.name = "YAMLException", this.reason = i, this.mark = e, this.message = se(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || ""; } B.prototype = Object.create(Error.prototype); B.prototype.constructor = B; B.prototype.toString = function(e) { return this.name + ": " + se(this, e); }; var T = B; function hi(i, e, n, t, r) { var s = "", o = "", l = Math.floor(r / 2) - 1; return t - e > l && (s = " ... ", e = t - l + s.length), n - t > l && (o = " ...", n = t + l - o.length), { str: s + i.slice(e, n).replace(/\t/g, "→") + o, pos: t - e + s.length // relative position }; } function ui(i, e) { return w.repeat(" ", e - i.length) + i; } function yn(i, e) { if (e = Object.create(e || null), !i.buffer) return null; e.maxLength || (e.maxLength = 79), typeof e.indent != "number" && (e.indent = 1), typeof e.linesBefore != "number" && (e.linesBefore = 3), typeof e.linesAfter != "number" && (e.linesAfter = 2); for (var n = /\r?\n|\r|\0/g, t = [0], r = [], s, o = -1; s = n.exec(i.buffer); ) r.push(s.index), t.push(s.index + s[0].length), i.position <= s.index && o < 0 && (o = t.length - 2); o < 0 && (o = t.length - 1); var l = "", a, h, f = Math.min(i.line + e.linesAfter, r.length).toString().length, c = e.maxLength - (e.indent + f + 3); for (a = 1; a <= e.linesBefore && !(o - a < 0); a++) h = hi( i.buffer, t[o - a], r[o - a], i.position - (t[o] - t[o - a]), c ), l = w.repeat(" ", e.indent) + ui((i.line - a + 1).toString(), f) + " | " + h.str + ` ` + l; for (h = hi(i.buffer, t[o], r[o], i.position, c), l += w.repeat(" ", e.indent) + ui((i.line + 1).toString(), f) + " | " + h.str + ` `, l += w.repeat("-", e.indent + f + 3 + h.pos) + `^ `, a = 1; a <= e.linesAfter && !(o + a >= r.length); a++) h = hi( i.buffer, t[o + a], r[o + a], i.position - (t[o] - t[o + a]), c ), l += w.repeat(" ", e.indent) + ui((i.line + a + 1).toString(), f) + " | " + h.str + ` `; return l.replace(/\n$/, ""); } var vn = yn, bn = [ "kind", "multi", "resolve", "construct", "instanceOf", "predicate", "represent", "representName", "defaultStyle", "styleAliases" ], wn = [ "scalar", "sequence", "mapping" ]; function Cn(i) { var e = {}; return i !== null && Object.keys(i).forEach(function(n) { i[n].forEach(function(t) { e[String(t)] = n; }); }), e; } function An(i, e) { if (e = e || {}, Object.keys(e).forEach(function(n) { if (bn.indexOf(n) === -1) throw new T('Unknown option "' + n + '" is met in definition of "' + i + '" YAML type.'); }), this.options = e, this.tag = i, this.kind = e.kind || null, this.resolve = e.resolve || function() { return !0; }, this.construct = e.construct || function(n) { return n; }, this.instanceOf = e.instanceOf || null, this.predicate = e.predicate || null, this.represent = e.represent || null, this.representName = e.representName || null, this.defaultStyle = e.defaultStyle || null, this.multi = e.multi || !1, this.styleAliases = Cn(e.styleAliases || null), wn.indexOf(this.kind) === -1) throw new T('Unknown kind "' + this.kind + '" is specified for "' + i + '" YAML type.'); } var b = An; function Pi(i, e) { var n = []; return i[e].forEach(function(t) { var r = n.length; n.forEach(function(s, o) { s.tag === t.tag && s.kind === t.kind && s.multi === t.multi && (r = o); }), n[r] = t; }), n; } function Sn() { var i = { scalar: {}, sequence: {}, mapping: {}, fallback: {}, multi: { scalar: [], sequence: [], mapping: [], fallback: [] } }, e, n; function t(r) { r.multi ? (i.multi[r.kind].push(r), i.multi.fallback.push(r)) : i[r.kind][r.tag] = i.fallback[r.tag] = r; } for (e = 0, n = arguments.length; e < n; e += 1) arguments[e].forEach(t); return i; } function di(i) { return this.extend(i); } di.prototype.extend = function(e) { var n = [], t = []; if (e instanceof b) t.push(e); else if (Array.isArray(e)) t = t.concat(e); else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit))) e.implicit && (n = n.concat(e.implicit)), e.explicit && (t = t.concat(e.explicit)); else throw new T("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })"); n.forEach(function(s) { if (!(s instanceof b)) throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object."); if (s.loadKind && s.loadKind !== "scalar") throw new T("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported."); if (s.multi) throw new T("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit."); }), t.forEach(function(s) { if (!(s instanceof b)) throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object."); }); var r = Object.create(di.prototype); return r.implicit = (this.implicit || []).concat(n), r.explicit = (this.explicit || []).concat(t), r.compiledImplicit = Pi(r, "implicit"), r.compiledExplicit = Pi(r, "explicit"), r.compiledTypeMap = Sn(r.compiledImplicit, r.compiledExplicit), r; }; var Tn = di, kn = new b("tag:yaml.org,2002:str", { kind: "scalar", construct: function(i) { return i !== null ? i : ""; } }), En = new b("tag:yaml.org,2002:seq", { kind: "sequence", construct: function(i) { return i !== null ? i : []; } }), Nn = new b("tag:yaml.org,2002:map", { kind: "mapping", construct: function(i) { return i !== null ? i : {}; } }), le = new Tn({ explicit: [ kn, En, Nn ] }); function On(i) { if (i === null) return !0; var e = i.length; return e === 1 && i === "~" || e === 4 && (i === "null" || i === "Null" || i === "NULL"); } function Fn() { return null; } function Mn(i) { return i === null; } var In = new b("tag:yaml.org,2002:null", { kind: "scalar", resolve: On, construct: Fn, predicate: Mn, represent: { canonical: function() { return "~"; }, lowercase: function() { return "null"; }, uppercase: function() { return "NULL"; }, camelcase: function() { return "Null"; }, empty: function() { return ""; } }, defaultStyle: "lowercase" }); function $n(i) { if (i === null) return !1; var e = i.length; return e === 4 && (i === "true" || i === "True" || i === "TRUE") || e === 5 && (i === "false" || i === "False" || i === "FALSE"); } function Pn(i) { return i === "true" || i === "True" || i === "TRUE"; } function jn(i) { return Object.prototype.toString.call(i) === "[object Boolean]"; } var Ln = new b("tag:yaml.org,2002:bool", { kind: "scalar", resolve: $n, construct: Pn, predicate: jn, represent: { lowercase: function(i) { return i ? "true" : "false"; }, uppercase: function(i) { return i ? "TRUE" : "FALSE"; }, camelcase: function(i) { return i ? "True" : "False"; } }, defaultStyle: "lowercase" }); function Dn(i) { return 48 <= i && i <= 57 || 65 <= i && i <= 70 || 97 <= i && i <= 102; } function Rn(i) { return 48 <= i && i <= 55; } function zn(i) { return 48 <= i && i <= 57; } function Bn(i) { if (i === null) return !1; var e = i.length, n = 0, t = !1, r; if (!e) return !1; if (r = i[n], (r === "-" || r === "+") && (r = i[++n]), r === "0") { if (n + 1 === e) return !0; if (r = i[++n], r === "b") { for (n++; n < e; n++) if (r = i[n], r !== "_") { if (r !== "0" && r !== "1") return !1; t = !0; } return t && r !== "_"; } if (r === "x") { for (n++; n < e; n++) if (r = i[n], r !== "_") { if (!Dn(i.charCodeAt(n))) return !1; t = !0; } return t && r !== "_"; } if (r === "o") { for (n++; n < e; n++) if (r = i[n], r !== "_") { if (!Rn(i.charCodeAt(n))) return !1; t = !0; } return t && r !== "_"; } } if (r === "_") return !1; for (; n < e; n++) if (r = i[n], r !== "_") { if (!zn(i.charCodeAt(n))) return !1; t = !0; } return !(!t || r === "_"); } function Yn(i) { var e = i, n = 1, t; if (e.indexOf("_") !== -1 && (e = e.replace(/_/g, "")), t = e[0], (t === "-" || t === "+") && (t === "-" && (n = -1), e = e.slice(1), t = e[0]), e === "0") return 0; if (t === "0") { if (e[1] === "b") return n * parseInt(e.slice(2), 2); if (e[1] === "x") return n * parseInt(e.slice(2), 16); if (e[1] === "o") return n * parseInt(e.slice(2), 8); } return n * parseInt(e, 10); } function Wn(i) { return Object.prototype.toString.call(i) === "[object Number]" && i % 1 === 0 && !w.isNegativeZero(i); } var Un = new b("tag:yaml.org,2002:int", { kind: "scalar", resolve: Bn, construct: Yn, predicate: Wn, represent: { binary: function(i) { return i >= 0 ? "0b" + i.toString(2) : "-0b" + i.toString(2).slice(1); }, octal: function(i) { return i >= 0 ? "0o" + i.toString(8) : "-0o" + i.toString(8).slice(1); }, decimal: function(i) { return i.toString(10); }, /* eslint-disable max-len */ hexadecimal: function(i) { return i >= 0 ? "0x" + i.toString(16).toUpperCase() : "-0x" + i.toString(16).toUpperCase().slice(1); } }, defaultStyle: "decimal", styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] } }), Hn = new RegExp( // 2.5e4, 2.5 and integers "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$" ); function qn(i) { return !(i === null || !Hn.test(i) || // Quick hack to not allow integers end with `_` // Probably should update regexp & check speed i[i.length - 1] === "_"); } function Gn(i) { var e, n; return e = i.replace(/_/g, "").toLowerCase(), n = e[0] === "-" ? -1 : 1, "+-".indexOf(e[0]) >= 0 && (e = e.slice(1)), e === ".inf" ? n === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : e === ".nan" ? NaN : n * parseFloat(e, 10); } var Kn = /^[-+]?[0-9]+e/; function Vn(i, e) { var n; if (isNaN(i)) switch (e) { case "lowercase": return ".nan"; case "uppercase": return ".NAN"; case "camelcase": return ".NaN"; } else if (Number.POSITIVE_INFINITY === i) switch (e) { case "lowercase": return ".inf"; case "uppercase": return ".INF"; case "camelcase": return ".Inf"; } else if (Number.NEGATIVE_INFINITY === i) switch (e) { case "lowercase": return "-.inf"; case "uppercase": return "-.INF"; case "camelcase": return "-.Inf"; } else if (w.isNegativeZero(i)) return "-0.0"; return n = i.toString(10), Kn.test(n) ? n.replace("e", ".e") : n; } function Xn(i) { return Object.prototype.toString.call(i) === "[object Number]" && (i % 1 !== 0 || w.isNegativeZero(i)); } var Jn = new b("tag:yaml.org,2002:float", { kind: "scalar", resolve: qn, construct: Gn, predicate: Xn, represent: Vn, defaultStyle: "lowercase" }), Zn = le.extend({ implicit: [ In, Ln, Un, Jn ] }), Qn = Zn, ae = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$" ), ce = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$" ); function it(i) { return i === null ? !1 : ae.exec(i) !== null || ce.exec(i) !== null; } function et(i) { var e, n, t, r, s, o, l, a = 0, h = null, f, c, p; if (e = ae.exec(i), e === null && (e = ce.exec(i)), e === null) throw new Error("Date resolve error"); if (n = +e[1], t = +e[2] - 1, r = +e[3], !e[4]) return new Date(Date.UTC(n, t, r)); if (s = +e[4], o = +e[5], l = +e[6], e[7]) { for (a = e[7].slice(0, 3); a.length < 3; ) a += "0"; a = +a; } return e[9] && (f = +e[10], c = +(e[11] || 0), h = (f * 60 + c) * 6e4, e[9] === "-" && (h = -h)), p = new Date(Date.UTC(n, t, r, s, o, l, a)), h && p.setTime(p.getTime() - h), p; } function nt(i) { return i.toISOString(); } var tt = new b("tag:yaml.org,2002:timestamp", { kind: "scalar", resolve: it, construct: et, instanceOf: Date, represent: nt }); function rt(i) { return i === "<<" || i === null; } var ot = new b("tag:yaml.org,2002:merge", { kind: "scalar", resolve: rt }), Ci = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= \r`; function st(i) { if (i === null) return !1; var e, n, t = 0, r = i.length, s = Ci; for (n = 0; n < r; n++) if (e = s.indexOf(i.charAt(n)), !(e > 64)) { if (e < 0) return !1; t += 6; } return t % 8 === 0; } function lt(i) { var e, n, t = i.replace(/[\r\n=]/g, ""), r = t.length, s = Ci, o = 0, l = []; for (e = 0; e < r; e++) e % 4 === 0 && e && (l.push(o >> 16 & 255), l.push(o >> 8 & 255), l.push(o & 255)), o = o << 6 | s.indexOf(t.charAt(e)); return n = r % 4 * 6, n === 0 ? (l.push(o >> 16 & 255), l.push(o >> 8 & 255), l.push(o & 255)) : n === 18 ? (l.push(o >> 10 & 255), l.push(o >> 2 & 255)) : n === 12 && l.push(o >> 4 & 255), new Uint8Array(l); } function at(i) { var e = "", n = 0, t, r, s = i.length, o = Ci; for (t = 0; t < s; t++) t % 3 === 0 && t && (e += o[n >> 18 & 63], e += o[n >> 12 & 63], e += o[n >> 6 & 63], e += o[n & 63]), n = (n << 8) + i[t]; return r = s % 3, r === 0 ? (e += o[n >> 18 & 63], e += o[n >> 12 & 63], e += o[n >> 6 & 63], e += o[n & 63]) : r === 2 ? (e += o[n >> 10 & 63], e += o[n >> 4 & 63], e += o[n << 2 & 63], e += o[64]) : r === 1 && (e += o[n >> 2 & 63], e += o[n << 4 & 63], e += o[64], e += o[64]), e; } function ct(i) { return Object.prototype.toString.call(i) === "[object Uint8Array]"; } var ht = new b("tag:yaml.org,2002:binary", { kind: "scalar", resolve: st, construct: lt, predicate: ct, represent: at }), ut = Object.prototype.hasOwnProperty, ft = Object.prototype.toString; function _t(i) { if (i === null) return !0; var e = [], n, t, r, s, o, l = i; for (n = 0, t = l.length; n < t; n += 1) { if (r = l[n], o = !1, ft.call(r) !== "[object Object]") return !1; for (s in r) if (ut.call(r, s)) if (!o) o = !0; else return !1; if (!o) return !1; if (e.indexOf(s) === -1) e.push(s); else return !1; } return !0; } function pt(i) { return i !== null ? i : []; } var dt = new b("tag:yaml.org,2002:omap", { kind: "sequence", resolve: _t, construct: pt }), xt = Object.prototype.toString; function gt(i) { if (i === null) return !0; var e, n, t, r, s, o = i; for (s = new Array(o.length), e = 0, n = o.length; e < n; e += 1) { if (t = o[e], xt.call(t) !== "[object Object]" || (r = Object.keys(t), r.length !== 1)) return !1; s[e] = [r[0], t[r[0]]]; } return !0; } function mt(i) { if (i === null) return []; var e, n, t, r, s, o = i; for (s = new Array(o.length), e = 0, n = o.length; e < n; e += 1) t = o[e], r = Object.keys(t), s[e] = [r[0], t[r[0]]]; return s; } var yt = new b("tag:yaml.org,2002:pairs", { kind: "sequence", resolve: gt, construct: mt }), vt = Object.prototype.hasOwnProperty; function bt(i) { if (i === null) return !0; var e, n = i; for (e in n) if (vt.call(n, e) && n[e] !== null) return !1; return !0; } function wt(i) { return i !== null ? i : {}; } var Ct = new b("tag:yaml.org,2002:set", { kind: "mapping", resolve: bt, construct: wt }), At = Qn.extend({ implicit: [ tt, ot ], explicit: [ ht, dt, yt, Ct ] }), N = Object.prototype.hasOwnProperty, J = 1, he = 2, ue = 3, Z = 4, fi = 1, St = 2, ji = 3, Tt = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, kt = /[\x85\u2028\u2029]/, Et = /[,\[\]\{\}]/, fe = /^(?:!|!!|![a-z\-]+!)$/i, _e = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; function Li(i) { return Object.prototype.toString.call(i); } function S(i) { return i === 10 || i === 13; } function F(i) { return i === 9 || i === 32; } function A(i) { return i === 9 || i === 32 || i === 10 || i === 13; } function P(i) { return i === 44 || i === 91 || i === 93 || i === 123 || i === 125; } function Nt(i) { var e; return 48 <= i && i <= 57 ? i - 48 : (e = i | 32, 97 <= e && e <= 102 ? e - 97 + 10 : -1); } function Ot(i) { return i === 120 ? 2 : i === 117 ? 4 : i === 85 ? 8 : 0; } function Ft(i) { return 48 <= i && i <= 57 ? i - 48 : -1; } function Di(i) { return i === 48 ? "\0" : i === 97 ? "\x07" : i === 98 ? "\b" : i === 116 || i === 9 ? " " : i === 110 ? ` ` : i === 118 ? "\v" : i === 102 ? "\f" : i === 114 ? "\r" : i === 101 ? "\x1B" : i === 32 ? " " : i === 34 ? '"' : i === 47 ? "/" : i === 92 ? "\\" : i === 78 ? "…" : i === 95 ? " " : i === 76 ? "\u2028" : i === 80 ? "\u2029" : ""; } function Mt(i) { return i <= 65535 ? String.fromCharCode(i) : String.fromCharCode( (i - 65536 >> 10) + 55296, (i - 65536 & 1023) + 56320 ); } var pe = new Array(256), de = new Array(256); for (var $ = 0; $ < 256; $++) pe[$] = Di($) ? 1 : 0, de[$] = Di($); function It(i, e) { this.input = i, this.filename = e.filename || null, this.schema = e.schema || At, this.onWarning = e.onWarning || null, this.legacy = e.legacy || !1, this.json = e.json || !1, this.listener = e.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = i.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = []; } function xe(i, e) { var n = { name: i.filename, buffer: i.input.slice(0, -1), // omit trailing \0 position: i.position, line: i.line, column: i.position - i.lineStart }; return n.snippet = vn(n), new T(e, n); } function _(i, e) { throw xe(i, e); } function Q(i, e) { i.onWarning && i.onWarning.call(null, xe(i, e)); } var Ri = { YAML: function(e, n, t) { var r, s, o; e.version !== null && _(e, "duplication of %YAML directive"), t.length !== 1 && _(e, "YAML directive accepts exactly one argument"), r = /^([0-9]+)\.([0-9]+)$/.exec(t[0]), r === null && _(e, "ill-formed argument of the YAML directive"), s = parseInt(r[1], 10), o = parseInt(r[2], 10), s !== 1 && _(e, "unacceptable YAML version of the document"), e.version = t[0], e.checkLineBreaks = o < 2, o !== 1 && o !== 2 && Q(e, "unsupported YAML version of the document"); }, TAG: function(e, n, t) { var r, s; t.length !== 2 && _(e, "TAG directive accepts exactly two arguments"), r = t[0], s = t[1], fe.test(r) || _(e, "ill-formed tag handle (first argument) of the TAG directive"), N.call(e.tagMap, r) && _(e, 'there is a previously declared suffix for "' + r + '" tag handle'), _e.test(s) || _(e, "ill-formed tag prefix (second argument) of the TAG directive"); try { s = decodeURIComponent(s); } catch { _(e, "tag prefix is malformed: " + s); } e.tagMap[r] = s; } }; function k(i, e, n, t) { var r, s, o, l; if (e < n) { if (l = i.input.slice(e, n), t) for (r = 0, s = l.length; r < s; r += 1) o = l.charCodeAt(r), o === 9 || 32 <= o && o <= 1114111 || _(i, "expected valid JSON character"); else Tt.test(l) && _(i, "the stream contains non-printable characters"); i.result += l; } } function zi(i, e, n, t) { var r, s, o, l; for (w.isObject(n) || _(i, "cannot merge mappings; the provided source object is unacceptable"), r = Object.keys(n), o = 0, l = r.length; o < l; o += 1) s = r[o], N.call(e, s) || (e[s] = n[s], t[s] = !0); } function j(i, e, n, t, r, s, o, l, a) { var h, f; if (Array.isArray(r)) for (r = Array.prototype.slice.call(r), h = 0, f = r.length; h < f; h += 1) Array.isArray(r[h]) && _(i, "nested arrays are not supported inside keys"), typeof r == "object" && Li(r[h]) === "[object Object]" && (r[h] = "[object Object]"); if (typeof r == "object" && Li(r) === "[object Object]" && (r = "[object Object]"), r = String(r), e === null && (e = {}), t === "tag:yaml.org,2002:merge") if (Array.isArray(s)) for (h = 0, f = s.length; h < f; h += 1) zi(i, e, s[h], n); else zi(i, e, s, n); else !i.json && !N.call(n, r) && N.call(e, r) && (i.line = o || i.line, i.lineStart = l || i.lineStart, i.position = a || i.position, _(i, "duplicated mapping key")), r === "__proto__" ? Object.defineProperty(e, r, { configurable: !0, enumerable: !0, writable: !0, value: s }) : e[r] = s, delete n[r]; return e; } function Ai(i) { var e; e = i.input.charCodeAt(i.position), e === 10 ? i.position++ : e === 13 ? (i.position++, i.input.charCodeAt(i.position) === 10 && i.position++) : _(i, "a line break is expected"), i.line += 1, i.lineStart = i.position, i.firstTabInLine = -1; } function v(i, e, n) { for (var t = 0, r = i.input.charCodeAt(i.position); r !== 0; ) { for (; F(r); ) r === 9 && i.firstTabInLine === -1 && (i.firstTabInLine = i.position), r = i.input.charCodeAt(++i.position); if (e && r === 35) do r = i.input.charCodeAt(++i.position); while (r !== 10 && r !== 13 && r !== 0); if (S(r)) for (Ai(i), r = i.input.charCodeAt(i.position), t++, i.lineIndent = 0; r === 32; ) i.lineIndent++, r = i.input.charCodeAt(++i.position); else break; } return n !== -1 && t !== 0 && i.lineIndent < n && Q(i, "deficient indentation"), t; } function si(i) { var e = i.position, n; return n = i.input.charCodeAt(e), !!((n === 45 || n === 46) && n === i.input.charCodeAt(e + 1) && n === i.input.charCodeAt(e + 2) && (e += 3, n = i.input.charCodeAt(e), n === 0 || A(n))); } function Si(i, e) { e === 1 ? i.result += " " : e > 1 && (i.result += w.repeat(` `, e - 1)); } function $t(i, e, n) { var t, r, s, o, l, a, h, f, c = i.kind, p = i.result, u; if (u = i.input.charCodeAt(i.position), A(u) || P(u) || u === 35 || u === 38 || u === 42 || u === 33 || u === 124 || u === 62 || u === 39 || u === 34 || u === 37 || u === 64 || u === 96 || (u === 63 || u === 45) && (r = i.input.charCodeAt(i.position + 1), A(r) || n && P(r))) return !1; for (i.kind = "scalar", i.result = "", s = o = i.position, l = !1; u !== 0; ) { if (u === 58) { if (r = i.input.charCodeAt(i.position + 1), A(r) || n && P(r)) break; } else if (u === 35) { if (t = i.input.charCodeAt(i.position - 1), A(t)) break; } else { if (i.position === i.lineStart && si(i) || n && P(u)) break; if (S(u)) if (a = i.line, h = i.lineStart, f = i.lineIndent, v(i, !1, -1), i.lineIndent >= e) { l = !0, u = i.input.charCodeAt(i.position); continue; } else { i.position = o, i.line = a, i.lineStart = h, i.lineIndent = f; break; } } l && (k(i, s, o, !1), Si(i, i.line - a), s = o = i.position, l = !1), F(u) || (o = i.position + 1), u = i.input.charCodeAt(++i.position); } return k(i, s, o, !1), i.result ? !0 : (i.kind = c, i.result = p, !1); } function Pt(i, e) { var n, t, r; if (n = i.input.charCodeAt(i.position), n !== 39) return !1; for (i.kind = "scalar", i.result = "", i.position++, t = r = i.position; (n = i.input.charCodeAt(i.position)) !== 0; ) if (n === 39) if (k(i, t, i.position, !0), n = i.input.charCodeAt(++i.position), n === 39) t = i.position, i.position++, r = i.position; else return !0; else S(n) ? (k(i, t, r, !0), Si(i, v(i, !1, e)), t = r = i.position) : i.position === i.lineStart && si(i) ? _(i, "unexpected end of the document within a single quoted scalar") : (i.position++, r = i.position); _(i, "unexpected end of the stream within a single quoted scalar"); } function jt(i, e) { var n, t, r, s, o, l; if (l = i.input.charCodeAt(i.position), l !== 34) return !1; for (i.kind = "scalar", i.result = "", i.position++, n = t = i.position; (l = i.input.charCodeAt(i.position)) !== 0; ) { if (l === 34) return k(i, n, i.position, !0), i.position++, !0; if (l === 92) { if (k(i, n, i.position, !0), l = i.input.charCodeAt(++i.position), S(l)) v(i, !1, e); else if (l < 256 && pe[l]) i.result += de[l], i.position++; else if ((o = Ot(l)) > 0) { for (r = o, s = 0; r > 0; r--) l = i.input.charCodeAt(++i.position), (o = Nt(l)) >= 0 ? s = (s << 4) + o : _(i, "expected hexadecimal character"); i.result += Mt(s), i.position++; } else _(i, "unknown escape sequence"); n = t = i.position; } else S(l) ? (k(i, n, t, !0), Si(i, v(i, !1, e)), n = t = i.position) : i.position === i.lineStart && si(i) ? _(i, "unexpected end of the document within a double quoted scalar") : (i.position++, t = i.position); } _(i, "unexpected end of the stream within a double quoted scalar"); } function Lt(i, e) { var n = !0, t, r, s, o = i.tag, l, a = i.anchor, h, f, c, p, u, x = /* @__PURE__ */ Object.create(null), y, m, C, d; if (d = i.input.charCodeAt(i.position), d === 91) f = 93, u = !1, l = []; else if (d === 123) f = 125, u = !0, l = {}; else return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = l), d = i.input.charCodeAt(++i.position); d !== 0; ) { if (v(i, !0, e), d = i.input.charCodeAt(i.position), d === f) return i.position++, i.tag = o, i.anchor = a, i.kind = u ? "mapping" : "sequence", i.result = l, !0; n ? d === 44 && _(i, "expected the node content, but found ','") : _(i, "missed comma between flow collection entries"), m = y = C = null, c = p = !1, d === 63 && (h = i.input.charCodeAt(i.position + 1), A(h) && (c = p = !0, i.position++, v(i, !0, e))), t = i.line, r = i.lineStart, s = i.position, L(i, e, J, !1, !0), m = i.tag, y = i.result, v(i, !0, e), d = i.input.charCodeAt(i.position), (p || i.line === t) && d === 58 && (c = !0, d = i.input.charCodeAt(++i.position), v(i, !0, e), L(i, e, J, !1, !0), C = i.result), u ? j(i, l, x, m, y, C, t, r, s) : c ? l.push(j(i, null, x, m, y, C, t, r, s)) : l.push(y), v(i, !0, e), d = i.input.charCodeAt(i.position), d === 44 ? (n = !0, d = i.input.charCodeAt(++i.position)) : n = !1; } _(i, "unexpected end of the stream within a flow collection"); } function Dt(i, e) { var n, t, r = fi, s = !1, o = !1, l = e, a = 0, h = !1, f, c; if (c = i.input.charCodeAt(i.position), c === 124) t = !1; else if (c === 62) t = !0; else return !1; for (i.kind = "scalar", i.result = ""; c !== 0; ) if (c = i.input.charCodeAt(++i.position), c === 43 || c === 45) fi === r ? r = c === 43 ? ji : St : _(i, "repeat of a chomping mode identifier"); else if ((f = Ft(c)) >= 0) f === 0 ? _(i, "bad explicit indentation width of a block scalar; it cannot be less than one") : o ? _(i, "repeat of an indentation width identifier") : (l = e + f - 1, o = !0); else break; if (F(c)) { do c = i.input.charCodeAt(++i.position); while (F(c)); if (c === 35) do c = i.input.charCodeAt(++i.position); while (!S(c) && c !== 0); } for (; c !== 0; ) { for (Ai(i), i.lineIndent = 0, c = i.input.charCodeAt(i.position); (!o || i.lineIndent < l) && c === 32; ) i.lineIndent++, c = i.input.charCodeAt(++i.position); if (!o && i.lineIndent > l && (l = i.lineIndent), S(c)) { a++; continue; } if (i.lineIndent < l) { r === ji ? i.result += w.repeat(` `, s ? 1 + a : a) : r === fi && s && (i.result += ` `); break; } for (t ? F(c) ? (h = !0, i.result += w.repeat(` `, s ? 1 + a : a)) : h ? (h = !1, i.result += w.repeat(` `, a + 1)) : a === 0 ? s && (i.result += " ") : i.result += w.repeat(` `, a) : i.result += w.repeat(` `, s ? 1 + a : a), s = !0, o = !0, a = 0, n = i.position; !S(c) && c !== 0; ) c = i.input.charCodeAt(++i.position); k(i, n, i.position, !1); } return !0; } function Bi(i, e) { var n, t = i.tag, r = i.anchor, s = [], o, l = !1, a; if (i.firstTabInLine !== -1) return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = s), a = i.input.charCodeAt(i.position); a !== 0 && (i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, _(i, "tab characters must not be used in indentation")), !(a !== 45 || (o = i.input.charCodeAt(i.position + 1), !A(o)))); ) { if (l = !0, i.position++, v(i, !0, -1) && i.lineIndent <= e) { s.push(null), a = i.input.charCodeAt(i.position); continue; } if (n = i.line, L(i, e, ue, !1, !0), s.push(i.result), v(i, !0, -1), a = i.input.charCodeAt(i.position), (i.line === n || i.lineIndent > e) && a !== 0) _(i, "bad indentation of a sequence entry"); else if (i.lineIndent < e) break; } return l ? (i.tag = t, i.anchor = r, i.kind = "sequence", i.result = s, !0) : !1; } function Rt(i, e, n) { var t, r, s, o, l, a, h = i.tag, f = i.anchor, c = {}, p = /* @__PURE__ */ Object.create(null), u = null, x = null, y = null, m = !1, C = !1, d; if (i.firstTabInLine !== -1) return !1; for (i.anchor !== null && (i.anchorMap[i.anchor] = c), d = i.input.charCodeAt(i.position); d !== 0; ) { if (!m && i.firstTabInLine !== -1 && (i.position = i.firstTabInLine, _(i, "tab characters must not be used in indentation")), t = i.input.charCodeAt(i.position + 1), s = i.line, (d === 63 || d === 58) && A(t)) d === 63 ? (m && (j(i, c, p, u, x, null, o, l, a), u = x = y = null), C = !0, m = !0, r = !0) : m ? (m = !1, r = !0) : _(i, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), i.position += 1, d = t; else { if (o = i.line, l = i.lineStart, a = i.position, !L(i, n, he, !1, !0)) break; if (i.line === s) { for (d = i.input.charCodeAt(i.position); F(d); ) d = i.input.charCodeAt(++i.position); if (d === 58) d = i.input.charCodeAt(++i.position), A(d) || _(i, "a whitespace character is expected after the key-value separator within a block mapping"), m && (j(i, c, p, u, x, null, o, l, a), u = x = y = null), C = !0, m = !1, r = !1, u = i.tag, x = i.result; else if (C) _(i, "can not read an implicit mapping pair; a colon is missed"); else return i.tag = h, i.anchor = f, !0; } else if (C) _(i, "can not read a block mapping entry; a multiline key may not be an implicit key"); else return i.tag = h, i.anchor = f, !0; } if ((i.line === s || i.lineIndent > e) && (m && (o = i.line, l = i.lineStart, a = i.position), L(i, e, Z, !0, r) && (m ? x = i.result : y = i.result), m || (j(i, c, p, u, x, y, o, l, a), u = x = y = null), v(i, !0, -1), d = i.input.charCodeAt(i.position)), (i.line === s || i.lineIndent > e) && d !== 0) _(i, "bad indentation of a mapping entry"); else if (i.lineIndent < e) break; } return m && j(i, c, p, u, x, null, o, l, a), C && (i.tag = h, i.anchor = f, i.kind = "mapping", i.result = c), C; } function zt(i) { var e, n = !1, t = !1, r, s, o; if (o = i.input.charCodeAt(i.position), o !== 33) return !1; if (i.tag !== null && _(i, "duplication of a tag property"), o = i.input.charCodeAt(++i.position), o === 60 ? (n = !0, o = i.input.charCodeAt(++i.position)) : o === 33 ? (t = !0, r = "!!", o = i.input.charCodeAt(++i.position)) : r = "!", e = i.position, n) { do o = i.input.charCodeAt(++i.position); while (o !== 0 && o !== 62); i.position < i.length ? (s = i.input.slice(e, i.position), o = i.input.charCodeAt(++i.position)) : _(i, "unexpected end of the stream within a verbatim tag"); } else { for (; o !== 0 && !A(o); ) o === 33 && (t ? _(i, "tag suffix cannot contain exclamation marks") : (r = i.input.slice(e - 1, i.position + 1), fe.test(r) || _(i, "named tag handle cannot contain such characters"), t = !0, e = i.position + 1)), o = i.input.charCodeAt(++i.position); s = i.input.slice(e, i.position), Et.test(s) && _(i, "tag suffix cannot contain flow indicator characters"); } s && !_e.test(s) && _(i, "tag name cannot contain such characters: " + s); try { s = decodeURIComponent(s); } catch { _(i, "tag name is malformed: " + s); } return n ? i.tag = s : N.call(i.tagMap, r) ? i.tag = i.tagMap[r] + s : r === "!" ? i.tag = "!" + s : r === "!!" ? i.tag = "tag:yaml.org,2002:" + s : _(i, 'undeclared tag handle "' + r + '"'), !0; } function Bt(i) { var e, n; if (n = i.input.charCodeAt(i.position), n !== 38) return !1; for (i.anchor !== null && _(i, "duplication of an anchor property"), n = i.input.charCodeAt(++i.position), e = i.position; n !== 0 && !A(n) && !P(n); ) n = i.input.charCodeAt(++i.position); return i.position === e && _(i, "name of an anchor node must contain at least one character"), i.anchor = i.input.slice(e, i.position), !0; } function Yt(i) { var e, n, t; if (t = i.input.charCodeAt(i.position), t !== 42) return !1; for (t = i.input.charCodeAt(++i.position), e = i.position; t !== 0 && !A(t) && !P(t); ) t = i.input.charCodeAt(++i.position); return i.position === e && _(i, "name of an alias node must contain at least one character"), n = i.input.slice(e, i.position), N.call(i.anchorMap, n) || _(i, 'unidentified alias "' + n + '"'), i.result = i.anchorMap[n], v(i, !0, -1), !0; } function L(i, e, n, t, r) { var s, o, l, a = 1, h = !1, f = !1, c, p, u, x, y, m; if (i.listener !== null && i.listener("open", i), i.tag = null, i.anchor = null, i.kind = null, i.result = null, s = o = l = Z === n || ue === n, t && v(i, !0, -1) && (h = !0, i.lineIndent > e ? a = 1 : i.lineIndent === e ? a = 0 : i.lineIndent < e && (a = -1)), a === 1) for (; zt(i) || Bt(i); ) v(i, !0, -1) ? (h = !0, l = s, i.lineIndent > e ? a = 1 : i.lineIndent === e ? a = 0 : i.lineIndent < e && (a = -1)) : l = !1; if (l && (l = h || r), (a === 1 || Z === n) && (J === n || he === n ? y = e : y = e + 1, m = i.position - i.lineStart, a === 1 ? l && (Bi(i, m) || Rt(i, m, y)) || Lt(i, y) ? f = !0 : (o && Dt(i, y) || Pt(i, y) || jt(i, y) ? f = !0 : Yt(i) ? (f = !0, (i.tag !== null || i.anchor !== null) && _(i, "alias node should not have any properties")) : $t(i, y, J === n) && (f = !0, i.tag === null && (i.tag = "?")), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : a === 0 && (f = l && Bi(i, m))), i.tag === null) i.anchor !== null && (i.anchorMap[i.anchor] = i.result); else if (i.tag === "?") { for (i.result !== null && i.kind !== "scalar" && _(i, 'unacceptable node kind for ! tag; it should be "scalar", not "' + i.kind + '"'), c = 0, p = i.implicitTypes.length; c < p; c += 1) if (x = i.implicitTypes[c], x.resolve(i.result)) { i.result = x.construct(i.result), i.tag = x.tag, i.anchor !== null && (i.anchorMap[i.anchor] = i.result); break; } } else if (i.tag !== "!") { if (N.call(i.typeMap[i.kind || "fallback"], i.tag)) x = i.typeMap[i.kind || "fallback"][i.tag]; else for (x = null, u = i.typeMap.multi[i.kind || "fallback"], c = 0, p = u.length; c < p; c += 1) if (i.tag.slice(0, u[c].tag.length) === u[c].tag) { x = u[c]; break; } x || _(i, "unknown tag !<" + i.tag + ">"), i.result !== null && x.kind !== i.kind && _(i, "unacceptable node kind for !<" + i.tag + '> tag; it should be "' + x.kind + '", not "' + i.kind + '"'), x.resolve(i.result, i.tag) ? (i.result = x.construct(i.result, i.tag), i.anchor !== null && (i.anchorMap[i.anchor] = i.result)) : _(i, "cannot resolve a node with !<" + i.tag + "> explicit tag"); } return i.listener !== null && i.listener("close", i), i.tag !== null || i.anchor !== null || f; } function Wt(i) { var e = i.position, n, t, r, s = !1, o; for (i.version = null, i.checkLineBreaks = i.legacy, i.tagMap = /* @__PURE__ */ Object.create(null), i.anchorMap = /* @__PURE__ */ Object.create(null); (o = i.input.charCodeAt(i.position)) !== 0 && (v(i, !0, -1), o = i.input.charCodeAt(i.position), !(i.lineIndent > 0 || o !== 37)); ) { for (s = !0, o = i.input.charCodeAt(++i.position), n = i.position; o !== 0 && !A(o); ) o = i.input.charCodeAt(++i.position); for (t = i.input.slice(n, i.position), r = [], t.length < 1 && _(i, "directive name must not be less than one character in length"); o !== 0; ) { for (; F(o); ) o = i.input.charCodeAt(++i.position); if (o === 35) { do o = i.input.charCodeAt(++i.position); while (o !== 0 && !S(o)); break; } if (S(o)) break; for (n = i.position; o !== 0 && !A(o); ) o = i.input.charCodeAt(++i.position); r.push(i.input.slice(n, i.position)); } o !== 0 && Ai(i), N.call(Ri, t) ? Ri[t](i, t, r) : Q(i, 'unknown document directive "' + t + '"'); } if (v(i, !0, -1), i.lineIndent === 0 && i.input.charCodeAt(i.position) === 45 && i.input.charCodeAt(i.position + 1) === 45 && i.input.charCodeAt(i.position + 2) === 45 ? (i.position += 3, v(i, !0, -1)) : s && _(i, "directives end mark is expected"), L(i, i.lineIndent - 1, Z, !1, !0), v(i, !0, -1), i.checkLineBreaks && kt.test(i.input.slice(e, i.position)) && Q(i, "non-ASCII line breaks are interpreted as content"), i.documents.push(i.result), i.position === i.lineStart && si(i)) { i.input.charCodeAt(i.position) === 46 && (i.position += 3, v(i, !0, -1)); return; } if (i.position < i.length - 1) _(i, "end of the stream or a document separator is expected"); else return; } function ge(i, e) { i = String(i), e = e || {}, i.length !== 0 && (i.charCodeAt(i.length - 1) !== 10 && i.charCodeAt(i.length - 1) !== 13 && (i += ` `), i.charCodeAt(0) === 65279 && (i = i.slice(1))); var n = new It(i, e), t = i.indexOf("\0"); for (t !== -1 && (n.position = t, _(n, "null byte is not allowed in input")), n.input += "\0"; n.input.charCodeAt(n.position) === 32; ) n.lineIndent += 1, n.position += 1; for (; n.position < n.length - 1; ) Wt(n); return n.documents; } function Ut(i, e, n) { e !== null && typeof e == "object" && typeof n > "u" && (n = e, e = null); var t = ge(i, n); if (typeof e != "function") return t; for (var r = 0, s = t.length; r < s; r += 1) e(t[r]); } function Ht(i, e) { var n = ge(i, e); if (n.length !== 0) { if (n.length === 1) return n[0]; throw new T("expected a single document in the stream, but found more"); } } var qt = Ut, Gt = Ht, Kt = { loadAll: qt, load: Gt }, Vt = le, Xt = Kt.load; const me = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s; function rs(i, e) { var t; const n = i.match(me); if (n) { const r = Xt(n[1], { // To keep things simple, only allow strings, arrays, and plain objects. // https://www.yaml.org/spec/1.2/spec.html#id2802346 schema: Vt }); return r != null && r.title && ((t = e.setDiagramTitle) == null || t.call(e, r.title)), i.slice(n[0].length); } else return i; } const q = {}, Jt = (i, e, n) => { let t = ""; return i in q && q[i] ? t = q[i](n) : g.warn(`No theme found for ${i}`), ` & { font-family: ${n.fontFamily}; font-size: ${n.fontSize}; fill: ${n.textColor} } /* Classes common for multiple diagrams */ & .error-icon { fill: ${n.errorBkgColor}; } & .error-text { fill: ${n.errorTextColor}; stroke: ${n.errorTextColor}; } & .edge-thickness-normal { stroke-width: 2px; } & .edge-thickness-thick { stroke-width: 3.5px } & .edge-pattern-solid { stroke-dasharray: 0; } & .edge-pattern-dashed{ stroke-dasharray: 3; } .edge-pattern-dotted { stroke-dasharray: 2; } & .marker { fill: ${n.lineColor}; stroke: ${n.lineColor}; } & .marker.cross { stroke: ${n.lineColor}; } & svg { font-family: ${n.fontFamily}; font-size: ${n.fontSize}; } ${t} ${e} `; }, Zt = (i, e) => { q[i] = e; }, os = Jt; let O = {}; const Qt = function(i, e, n, t) { g.debug("parseDirective is being called", e, n, t); try { if (e !== void 0) switch (e = e.trim(), n) { case "open_directive": O = {}; break; case "type_directive": if (!O) throw new Error("currentDirective is undefined"); O.type = e.toLowerCase(); break; case "arg_directive": if (!O) throw new Error("currentDirective is undefined"); O.args = JSON.parse(e); break; case "close_directive": ir(i, O, t), O = void 0; break; } } catch (r) { g.error( `Error while rendering sequenceDiagram directive: ${e} jison context: ${n}` ), g.error(r.message); } }, ir = function(i, e, n) { switch (g.info(`Directive type=${e.type} with args:`, e.args), e.type) { case "init": case "initialize": { ["config"].forEach((t) => { e.args[t] !== void 0 && (n === "flowchart-v2" && (n = "flowchart"), e.args[n] = e.args[t], delete e.args[t]); }), g.info("sanitize in handleDirective", e.args), W(e.args), g.info("sanitize in handleDirective (done)", e.args), Se(e.args); break; } case "wrap": case "nowrap": i && i.setWrap && i.setWrap(e.type === "wrap"); break; case "themeCss": g.warn("themeCss encountered"); break; default: g.warn( `Unhandled directive: source: '%%{${e.type}: ${JSON.stringify( e.args ? e.args : {} )}}%%`, e ); break; } }, er = g, nr = Te, ye = ke, tr = (i) => Ee(i, ye()), rr = Fe, or = () => Me, sr = (i, e, n, t) => Qt(i, e, n, t), ii = {}, lr = (i, e, n) => { if (ii[i]) throw new Error(`Diagram ${i} already registered.`); ii[i] = e, n && ve(i, n), Zt(i, e.styles), e.injectUtils && e.injectUtils( er, nr, ye, tr, rr, or(), sr ); }, ar = (i) => { if (i in ii) return ii[i]; throw new Error(`Diagram ${i} not found.`); }; class cr extends Error { constructor(e) { super(e), this.name = "UnknownDiagramError"; } } const hr = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, ur = /\s*%%.*\n/gm, D = {}, fr = function(i, e) { i = i.replace(me, "").replace(hr, "").replace(ur, ` `); for (const [n, { detector: t }] of Object.entries(D)) if (t(i, e)) return n; throw new cr( `No diagram type detected matching given configuration for text: ${i}` ); }, ss = (...i) => { for (const { id: e, detector: n, loader: t } of i) ve(e, n, t); }, ls = async () => { g.debug("Loading registered diagrams"); const e = (await Promise.allSettled( Object.entries(D).map(async ([n, { detector: t, loader: r }]) => { if (r) try { ar(n); } catch { try { const { diagram: o, id: l } = await r(); lr(l, o, t); } catch (o) { throw g.error(`Failed to load external diagram with key ${n}. Removing from detectors.`), delete D[n], o; } } }) )).filter((n) => n.status === "rejected"); if (e.length > 0) { g.error(`Failed to load ${e.length} external diagrams`); for (const n of e) g.error(n); throw new Error(`Failed to load ${e.length} external diagrams`); } }, ve = (i, e, n) => { D[i] ? g.error(`Detector with key ${i} already exists`) : D[i] = { detector: e, loader: n }, g.debug(`Detector with key ${i} added${n ? " with loader" : ""}`); }, as = (i) => D[i].loader; var _r = typeof global == "object" && global && global.Object === Object && global; const pr = _r; var dr = typeof self == "object" && self && self.Object === Object && self, xr = pr || dr || Function("return this")(); const Ti = xr; var gr = Ti.Symbol; const ei = gr; var be = Object.prototype, mr = be.hasOwnProperty, yr = be.toString, z = ei ? ei.toStringTag : void 0; function vr(i) { var e = mr.call(i, z), n = i[z]; try { i[z] = void 0; var t = !0; } catch { } var r = yr.call(i); return t && (e ? i[z] = n : delete i[z]), r; } var br = Object.prototype, wr = br.toString; function Cr(i) { return wr.call(i); } var Ar = "[object Null]", Sr = "[object Undefined]", Yi = ei ? ei.toStringTag : void 0; function Tr(i) { return i == null ? i === void 0 ? Sr : Ar : Yi && Yi in Object(i) ? vr(i) : Cr(i); } function we(i) { var e = typeof i; return i != null && (e == "object" || e == "function"); } var kr = "[object AsyncFunction]", Er = "[object Function]", Nr = "[object GeneratorFunction]", Or = "[object Proxy]"; function Fr(i) { if (!we(i)) return !1; var e = Tr(i); return e == Er || e == Nr || e == kr || e == Or; } var Mr = Ti["__core-js_shared__"]; const _i = Mr; var Wi = function() { var i = /[^.]+$/.exec(_i && _i.keys && _i.keys.IE_PROTO || ""); return i ? "Symbol(src)_1." + i : ""; }(); function Ir(i) { return !!Wi && Wi in i; } var $r = Function.prototype, Pr = $r.toString; function jr(i) { if (i != null) { try { return Pr.call(i); } catch { } try { return i + ""; } catch { } } return ""; } var Lr = /[\\^$.*+?()[\]{}|]/g, Dr = /^\[object .+?Constructor\]$/, Rr = Function.prototype, zr = Object.prototype, Br = Rr.toString, Yr = zr.hasOwnProperty, Wr = RegExp( "^" + Br.call(Yr).replace(Lr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function Ur(i) { if (!we(i) || Ir(i)) return !1; var e = Fr(i) ? Wr : Dr; return e.test(jr(i)); } function Hr(i, e) { return i == null ? void 0 : i[e]; } function Ce(i, e) { var n = Hr(i, e); return Ur(n) ? n : void 0; } var qr = Ce(Object, "create"); const Y = qr; function Gr() { this.__data__ = Y ? Y(null) : {}, this.size = 0; } function Kr(i) { var e = this.has(i) && delete this.__data__[i]; return this.size -= e ? 1 : 0, e; } var Vr = "__lodash_hash_undefined__", Xr = Object.prototype, Jr = Xr.hasOwnProperty; function Zr(i) { var e = this.__data__; if (Y) { var n = e[i]; return n === Vr ? void 0 : n; } return Jr.call(e, i) ? e[i] : void 0; } var Qr = Object.prototype, io = Qr.hasOwnProperty; function eo(i) { var e = this.__data__; return Y ? e[i] !== void 0 : io.call(e, i); } var no = "__lodash_hash_undefined__"; function to(i, e) { var n = this.__data__; return this.size += this.has(i) ? 0 : 1, n[i] = Y && e === void 0 ? no : e, this; } function M(i) { var e = -1, n = i == null ? 0 : i.length; for (this.clear(); ++e < n; ) { var t = i[e]; this.set(t[0], t[1]); } } M.prototype.clear = Gr; M.prototype.delete = Kr; M.prototype.get = Zr; M.prototype.has = eo; M.prototype.set = to; function ro() { this.__data__ = [], this.size = 0; } function oo(i, e) { return i === e || i !== i && e !== e; } function li(i, e) { for (var n = i.length; n--; ) if (oo(i[n][0], e)) return n; return -1; } var so = Array.prototype, lo = so.splice; function ao(i) { var e = this.__data__, n = li(e, i); if (n < 0) return !1; var t = e.length - 1; return n == t ? e.pop() : lo.call(e, n, 1), --this.size, !0; } function co(i) { var e = this.__data__, n = li(e, i); return n < 0 ? void 0 : e[n][1]; } function ho(i) { return li(this.__data__, i) > -1; } function uo(i, e) { var n = this.__data__, t = li(n, i); return t < 0 ? (++this.size, n.push([i, e])) : n[t][1] = e, this; } function R(i) { var e = -1, n = i == null ? 0 : i.length; for (this.clear(); ++e < n; ) { var t = i[e]; this.set(t[0], t[1]); } } R.prototype.clear = ro; R.prototype.delete = ao; R.prototype.get = co; R.prototype.has = ho; R.prototype.set = uo; var fo = Ce(Ti, "Map"); const _o = fo; function po() { this.size = 0, this.__data__ = { hash: new M(), map: new (_o || R)(), string: new M() }; } function xo(i) { var e = typeof i; return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? i !== "__proto__" : i === null; } function ai(i, e) { var n = i.__data__; return xo(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map; } function go(i) { var e = ai(this, i).delete(i); return this.size -= e ? 1 : 0, e; } function mo(i) { return ai(this, i).get(i); } function yo(i) { return ai(this, i).has(i); } function vo(i, e) { var n = ai(this, i), t = n.size; return n.set(i, e), this.size += n.size == t ? 0 : 1, this; } function I(i) { var e = -1, n = i == null ? 0 : i.length; for (this.clear(); ++e < n; ) { var t = i[e]; this.set(t[0], t[1]); } } I.prototype.clear = po; I.prototype.delete = go; I.prototype.get = mo; I.prototype.has = yo; I.prototype.set = vo; var bo = "Expected a function"; function U(i, e) { if (typeof i != "function" || e != null && typeof e != "function") throw new TypeError(bo); var n = function() { var t = arguments, r = e ? e.apply(this, t) : t[0], s = n.cache; if (s.has(r)) return s.get(r); var o = i.apply(this, t); return n.cache = s.set(r, o) || s, o; }; return n.cache = new (U.Cache || I)(), n; } U.Cache = I; const wo = { curveBasis: Ue, curveBasisClosed: He, curveBasisOpen: qe, curveBumpX: Ye, curveBumpY: We, curveBundle: Ge, curveCardinalClosed: Ve, curveCardinalOpen: Xe, curveCardinal: Ke, curveCatmullRomClosed: Ze, curveCatmullRomOpen: Qe, curveCatmullRom: Je, curveLinear: Be, curveLinearClosed: en, curveMonotoneX: nn, curveMonotoneY: tn, curveNatural: rn, curveStep: on, curveStepAfter: ln, curveStepBefore: sn }, pi = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, Co = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, Ao = function(i, e) { const n = Ae(i, /(?:init\b)|(?:initialize\b)/); let t = {}; if (Array.isArray(n)) { const r = n.map((s) => s.args); W(r), t = Hi(t, [...r]); } else t = n.args; if (t) { let r = fr(i, e); ["config"].forEach((s) => { t[s] !== void 0 && (r === "flowchart-v2" && (r = "flowchart"), t[r] = t[s], delete t[s]); }); } return t; }, Ae = function(i, e = null) { try { const n = new RegExp( `[%]{2}(?![{]${Co.source})(?=[}][%]{2}).* `, "ig" ); i = i.trim().replace(n, "").replace(/'/gm, '"'), g.debug( `Detecting diagram directive${e !== null ? " type:" + e : ""} based on the text:${i}` ); let t; const r = []; for (; (t = pi.exec(i)) !== null; ) if (t.index === pi.lastIndex && pi.lastIndex++, t && !e || e && t[1] && t[1].match(e) || e && t[2] && t[2].match(e)) { const s = t[1] ? t[1] : t[2], o = t[3] ? t[3].trim() : t[4] ? JSON.parse(t[4].trim()) : null; r.push({ type: s, args: o }); } return r.length === 0 && r.push({ type: i, args: null }), r.length === 1 ? r[0] : r; } catch (n) { return g.error( `ERROR: ${n.message} - Unable to parse directive ${e !== null ? " type:" + e : ""} based on the text:${i}` ), { type: null, args: null }; } }, So = function(i, e) { for (const [n, t] of e.entries()) if (t.match(i)) return n; return -1; }; function To(i, e) { if (!i) return e; const n = `curve${i.charAt(0).toUpperCase() + i.slice(1)}`; return wo[n] || e; } function ko(i, e) { const n = i.trim(); if (n) return e.securityLevel !== "loose" ? qi(n) : n; } const Eo = (i, ...e) => { const n = i.split("."), t = n.length - 1, r = n[t]; let s = window; for (let o = 0; o < t; o++) if (s = s[n[o]], !s) return; s[r](...e); }; function ni(i, e) { return i && e ? Math.sqrt(Math.pow(e.x - i.x, 2) + Math.pow(e.y - i.y, 2)) : 0; } function No(i) { let e, n = 0; i.forEach((s) => { n += ni(s, e), e = s; }); let t = n / 2, r; return e = void 0, i.forEach((s) => { if (e && !r) { const o = ni(s, e); if (o < t) t -= o; else { const l = t / o; l <= 0 && (r = e), l >= 1 && (r = { x: s.x, y: s.y }), l > 0 && l < 1 && (r = { x: (1 - l) * e.x + l * s.x, y: (1 - l) * e.y + l * s.y }); } } e = s; }), r; } function Oo(i) { return i.length === 1 ? i[0] : No(i); } const Fo = (i, e, n) => { let t; g.info(`our points ${JSON.stringify(e)}`), e[0] !== n && (e = e.reverse()); let s = 25, o; t = void 0, e.forEach((f) => { if (t && !o) { const c = ni(f, t); if (c < s) s -= c; else { const p = s / c; p <= 0 && (o = t), p >= 1 && (o = { x: f.x, y: f.y }), p > 0 && p < 1 && (o = { x: (1 - p) * t.x + p * f.x, y: (1 - p) * t.y + p * f.y }); } } t = f; }); const l = i ? 10 : 5, a = Math.atan2(e[0].y - o.y, e[0].x - o.x), h = { x: 0, y: 0 }; return h.x = Math.sin(a) * l + (e[0].x + o.x) / 2, h.y = -Math.cos(a) * l + (e[0].y + o.y) / 2, h; }; function Mo(i, e, n) { let t = JSON.parse(JSON.stringify(n)), r; g.info("our points", t), e !== "start_left" && e !== "start_right" && (t = t.reverse()), t.forEach((c) => { r = c; }); let o = 25 + i, l; r = void 0, t.forEach((c) => { if (r && !l) { const p = ni(c, r); if (p < o) o -= p; else { const u = o / p; u <= 0 && (l = r), u >= 1 && (l = { x: c.x, y: c.y }), u > 0 && u < 1 && (l = { x: (1 - u) * r.x + u * c.x, y: (1 - u) * r.y + u * c.y }); } } r = c; }); const a = 10 + i * 0.5, h = Math.atan2(t[0].y - l.y, t[0].x - l.x), f = { x: 0, y: 0 }; return f.x = Math.sin(h) * a + (t[0].x + l.x) / 2, f.y = -Math.cos(h) * a + (t[0].y + l.y) / 2, e === "start_left" && (f.x = Math.sin(h + Math.PI) * a + (t[0].x + l.x) / 2, f.y = -Math.cos(h + Math.PI) * a + (t[0].y + l.y) / 2), e === "end_right" && (f.x = Math.sin(h - Math.PI) * a + (t[0].x + l.x) / 2 - 5, f.y = -Math.cos(h - Math.PI) * a + (t[0].y + l.y) / 2 - 5), e === "end_left" && (f.x = Math.sin(h) * a + (t[0].x + l.x) / 2 - 5, f.y = -Math.cos(h) * a + (t[0].y + l.y) / 2 - 5), f; } function Io(i) { let e = "", n = ""; for (const t of i) t !== void 0 && (t.startsWith("color:") || t.startsWith("text-align:") ? n = n + t + ";" : e = e + t + ";"); return { style: e, labelStyle: n }; } let Ui = 0; const $o = () => (Ui++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + Ui); function Po(i) { let e = ""; const n = "0123456789abcdef", t = n.length; for (let r = 0; r < i; r++) e += n.charAt(Math.floor(Math.random() * t)); return e; } const jo = (i) => Po(i.length), Lo = function() { return { x: 0, y: 0, fill: void 0, anchor: "start", style: "#666", width: 100, height: 100, textMargin: 0, rx: 0, ry: 0, valign: void 0 }; }, Do = function(i, e) { const n = e.text.replace(xi.lineBreakRegex, " "), [, t] = Ei(e.fontSize), r = i.append("text"); r.attr("x", e.x), r.attr("y", e.y), r.style("text-anchor", e.anchor), r.style("font-family", e.fontFamily), r.style("font-size", t), r.style("font-weight", e.fontWeight), r.attr("fill", e.fill), e.class !== void 0 && r.attr("class", e.class); const s = r.append("tspan"); return s.attr("x", e.x + e.textMargin * 2), s.attr("fill", e.fill), s.text(n), r; }, Ro = U( (i, e, n) => { if (!i || (n = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "
" }, n ), xi.lineBreakRegex.test(i))) return i; const t = i.split(" "), r = []; let s = ""; return t.forEach((o, l) => { const a = ti(`${o} `, n), h = ti(s, n); if (a > e) { const { hyphenatedStrings: p, remainingWord: u } = zo(o, e, "-", n); r.push(s, ...p), s = u; } else h + a >= e ? (r.push(s), s = o) : s = [s, o].filter(Boolean).join(" "); l + 1 === t.length && r.push(s); }), r.filter((o) => o !== "").join(n.joinWith); }, (i, e, n) => `${i}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}` ), zo = U( (i, e, n = "-", t) => { t = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 }, t ); const r = [...i], s = []; let o = ""; return r.forEach((l, a) => { const h = `${o}${l}`; if (ti(h, t) >= e) { const c = a + 1, p = r.length === c, u = `${h}${n}`; s.push(p ? h : u), o = ""; } else o = h; }), { hyphenatedStrings: s, remainingWord: o }; }, (i, e, n = "-", t) => `${i}${e}${n}${t.fontSize}${t.fontWeight}${t.fontFamily}` ); function Bo(i, e) { return e = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 15 }, e ), ki(i, e).height; } function ti(i, e) { return e = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, e), ki(i, e).width; } const ki = U( (i, e) => { e = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial" }, e); const { fontSize: n, fontFamily: t, fontWeight: r } = e; if (!i) return { width: 0, height: 0 }; const [, s] = Ei(n), o = ["sans-serif", t], l = i.split(xi.lineBreakRegex), a = [], h = Oe("body"); if (!h.remove) return { width: 0, height: 0, lineHeight: 0 }; const f = h.append("svg"); for (const p of o) { let u = 0; const x = { width: 0, height: 0, lineHeight: 0 }; for (const y of l) { const m = Lo(); m.text = y; const C = Do(f, m).style("font-size", s).style("font-weight", r).style("font-family", p), d = (C._groups || C)[0][0].getBBox(); x.width = Math.round(Math.max(x.width, d.width)), u = Math.round(d.height), x.height += u, x.lineHeight = Math.round(Math.max(x.lineHeight, u)); } a.push(x); } f.remove(); const c = isNaN(a[1].height) || isNaN(a[1].width) || isNaN(a[1].lineHeight) || a[0].height > a[1].height && a[0].width > a[1].width && a[0].lineHeight > a[1].lineHeight ? 0 : 1; return a[c]; }, (i, e) => `${i}${e.fontSize}${e.fontWeight}${e.fontFamily}` ), Yo = class { constructor(e, n) { this.deterministic = e, this.seed = n, this.count = n ? n.length : 0; } next() { return this.deterministic ? this.count++ : Date.now(); } }; let H; const Wo = function(i) { return H = H || document.createElement("div"), i = escape(i).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";"), H.innerHTML = i, unescape(H.textContent); }, W = (i) => { if (g.debug("directiveSanitizer called with", i), typeof i == "object" && (i.length ? i.forEach((e) => W(e)) : Object.keys(i).forEach((e) => { g.debug("Checking key", e), e.startsWith("__") && (g.debug("sanitize deleting __ option", e), delete i[e]), e.includes("proto") && (g.debug("sanitize deleting proto option", e), delete i[e]), e.includes("constr") && (g.debug("sanitize deleting constr option", e), delete i[e]), e.includes("themeCSS") && (g.debug("sanitizing themeCss option"), i[e] = G(i[e])), e.includes("fontFamily") && (g.debug("sanitizing fontFamily option"), i[e] = G(i[e])), e.includes("altFontFamily") && (g.debug("sanitizing altFontFamily option"), i[e] = G(i[e])), Ne.includes(e) ? typeof i[e] == "object" && (g.debug("sanitize deleting object", e), W(i[e])) : (g.debug("sanitize deleting option", e), delete i[e]); })), i.themeVariables) { const e = Object.keys(i.themeVariables); for (const n of e) { const t = i.themeVariables[n]; t && t.match && !t.match(/^[\d "#%(),.;A-Za-z]+$/) && (i.themeVariables[n] = ""); } } g.debug("After sanitization", i); }, G = (i) => { let e = 0, n = 0; for (const t of i) { if (e < n) return "{ /* ERROR: Unbalanced CSS */ }"; t === "{" ? e++ : t === "}" && n++; } return e !== n ? "{ /* ERROR: Unbalanced CSS */ }" : i; }; function hs(i) { return "str" in i; } function us(i) { return i instanceof Error ? i.message : String(i); } const Uo = (i, e, n, t) => { if (!t) return; const r = i.node().getBBox(); i.append("text").text(t).attr("x", r.x + r.width / 2).attr("y", -n).attr("class", e); }, Ei = (i) => { if (typeof i == "number") return [i, i + "px"]; const e = parseInt(i, 10); return Number.isNaN(e) ? [void 0, void 0] : i === String(e) ? [e, i + "px"] : [e, i]; }, fs = { assignWithDepth: Hi, wrapLabel: Ro, calculateTextHeight: Bo, calculateTextWidth: ti, calculateTextDimensions: ki, detectInit: Ao, detectDirective: Ae, isSubstringInArray: So, interpolateToCurve: To, calcLabelPosition: Oo, calcCardinalityPosition: Fo, calcTerminalLabelPosition: Mo, formatUrl: ko, getStylesFromArray: Io, generateId: $o, random: jo, runFunc: Eo, entityDecode: Wo, initIdGenerator: Yo, directiveSanitizer: W, sanitizeCss: G, insertTitle: Uo, parseFontSize: Ei }; export { we as A, oo as B, U as C, I as D, Ue as E, jo as F, ye as G, rr as H, es as I, mi as J, Xo as K, R as L, _o as M, Qo as N, Oi as O, Ni as P, is as Q, Zo as R, ei as S, Ko as T, cr as U, Vo as V, ts as W, ns as X, Jo as Y, Ei as Z, $o as _, lr as a, as as b, Ce as c, fr as d, rs as e, Ti as f, ar as g, Tr as h, hs as i, Fr as j, pr as k, ls as l, W as m, os as n, us as o, Qt as p, ti as q, ss as r, qi as s, jr as t, fs as u, Bo as v, Ro as w, Be as x, Io as y, To as z }; //# sourceMappingURL=utils-aa888deb.js.map