cullmann.io/themes/blowfish/assets/lib/mermaid/utils-aa888deb.js

2611 lines
83 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: "<br/>" },
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